/* =========================================================
   BRAZZERS EVENTS EXPANSION v1.1 LIGHT
   Светлое оформление блока "Осады на Сегодня"
   + светлая стилизация новых регулярных событий и календаря.
   ========================================================= */

/* ===== сам блок осад ===== */
.bsx-sieges-panel > h2{
    margin:0;
}

.bsx-sieges-shell{
    padding:12px;
    font-size:13px;
    color:#47331f;
    background:
        radial-gradient(circle at 85% 15%, rgba(184,145,84,.10), transparent 28%),
        linear-gradient(180deg,#fbf6ec 0%, #f4ead8 100%);
    border-top:1px solid #d5bd93;
    border-radius:0 0 6px 6px;
}

.bsx-sieges-title{
    text-align:center;
    color:#8f1a1f;
    font:700 18px/1.2 Georgia,"Times New Roman",serif;
    margin:0 0 10px;
    padding:0 0 8px;
    border-bottom:1px dashed rgba(169,126,61,.45);
    text-shadow:0 1px 0 rgba(255,255,255,.65);
}

.bsx-sieges-total{
    text-align:right;
    font-size:12px;
    color:#8a7355;
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid rgba(181,146,94,.35);
}

.bsx-sieges-total strong{
    color:#8f1a1f;
    font-weight:700;
}

/* ===== текущие карточки осад, которые уже были ===== */
#sieges-list-container{
    display:flex;
    flex-direction:column;
    gap:6px;
}

#sieges-list-container .siege-card,
#sieges-list-container > div,
#sieges-list-container > article,
#sieges-list-container > a{
    position:relative;
    display:block;
    padding:8px 10px;
    border:1px solid rgba(191,157,102,.55);
    background:linear-gradient(180deg,#fffaf2 0%, #efdfc4 100%);
    color:#43301d;
    box-shadow:inset 0 1px rgba(255,255,255,.72);
}

#sieges-list-container .siege-card + .siege-card{
    margin-top:0;
}

#sieges-list-container a,
#sieges-list-container .siege-card a{
    color:#7f1419 !important;
    text-decoration:none;
}

#sieges-list-container a:hover,
#sieges-list-container .siege-card a:hover{
    text-decoration:underline;
}

#sieges-list-container .siege-card:hover,
#sieges-list-container > div:hover,
#sieges-list-container > article:hover,
#sieges-list-container > a:hover{
    border-color:#b27830;
    background:linear-gradient(180deg,#fffdf8 0%, #f2e5cf 100%);
}

/* ===== надстройка: регулярные события + будущие осады ===== */
.bsx-extra{
    margin-top:10px;
    color:#3f3429;
    font-family:Arial,sans-serif;
}

.bsx-extra__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-bottom:7px;
    padding:7px 5px;
    border-top:1px solid rgba(181,145,88,.38);
    border-bottom:1px solid rgba(181,145,88,.38);
    color:#744318;
    font:700 12px/1 Georgia,"Times New Roman",serif;
}

.bsx-extra__title span{
    color:#b78131;
    font-size:8px;
}

.bsx-weekly__list{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.bsx-weekly__item{
    position:relative;
    min-height:43px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    gap:7px;
    padding:6px 7px;
    border:1px solid rgba(186,151,96,.44);
    background:linear-gradient(180deg,#fffaf1,#eee2ce);
    box-shadow:inset 0 1px rgba(255,255,255,.65);
}

.bsx-weekly__item.is-today{
    border-color:#a66f27;
    background:
        linear-gradient(90deg,rgba(151,18,25,.08),transparent 70%),
        linear-gradient(180deg,#fffaf1,#ead7ba);
    box-shadow:
        inset 3px 0 #98151b,
        inset 0 1px rgba(255,255,255,.7);
}

.bsx-weekly__icon{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid #c19b61;
    border-radius:50%;
    background:#fffaf2;
    font-size:14px;
}

.bsx-weekly__text{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.bsx-weekly__text strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#4c321c;
    font:700 15px/1.15 Georgia,"Times New Roman",serif;
}

.bsx-weekly__text small{
    color:#8a7256;
    font:400 11px/1.2 Arial,sans-serif;
}

.bsx-weekly__next{
    min-width:56px;
    padding:5px 7px;
    border:1px solid #cfb17e;
    background:#f7eddd;
    color:#8b6c45;
    text-align:center;
    font:700 10px/1 Arial,sans-serif;
}

.bsx-weekly__item.is-today .bsx-weekly__next{
    border-color:#ad792d;
    background:linear-gradient(#ae252b,#7e1016);
    color:#ffefc3;
}

.bsx-future{
    margin-top:8px;
}

.bsx-future__toggle{
    width:100%;
    min-height:39px;
    display:grid;
    grid-template-columns:20px minmax(0,1fr) 27px 12px;
    align-items:center;
    gap:6px;
    padding:7px 8px;
    border:1px solid #b98946;
    background:linear-gradient(180deg,#fffaf0,#ead8bb);
    color:#643b17;
    font:700 16px/1 Georgia,"Times New Roman",serif;
    text-align:left;
    cursor:pointer;
    box-shadow:inset 0 1px rgba(255,255,255,.72);
}

.bsx-future__toggle:hover{
    filter:brightness(1.02);
    border-color:#a36d27;
}

.bsx-future__toggle b{
    display:grid;
    place-items:center;
    min-width:24px;
    height:22px;
    border:1px solid #b47d31;
    border-radius:12px;
    background:#94151b;
    color:#fff0c8;
    font:700 10px Arial,sans-serif;
}

.bsx-future__toggle i{
    color:#9a671f;
    font-style:normal;
    font-size:15px;
    text-align:center;
    transition:transform .16s ease;
}

.bsx-future__toggle.is-open i{
    transform:rotate(180deg);
}

.bsx-future__calendar-icon{
    position:relative;
    width:17px;
    height:15px;
    border:1px solid #a8732a;
    background:#fff8eb;
}

.bsx-future__calendar-icon:before{
    content:"";
    position:absolute;
    left:2px;
    right:2px;
    top:3px;
    border-top:2px solid #a8732a;
}

.bsx-future__panel{
    padding:8px;
    border:1px solid #c5a16a;
    border-top:0;
    background:
        radial-gradient(circle at 90% 15%,rgba(184,144,82,.08),transparent 28%),
        linear-gradient(#fffdf8,#f0e4d0);
}

.bsx-future__panel[hidden]{
    display:none!important;
}

.bsx-calendar__head{
    display:grid;
    grid-template-columns:29px minmax(0,1fr) 29px;
    align-items:center;
    gap:4px;
    margin-bottom:6px;
}

.bsx-calendar__head strong{
    color:#583518;
    text-align:center;
    font:700 12px/1.2 Georgia,"Times New Roman",serif;
}

.bsx-calendar__head button{
    width:29px;
    height:27px;
    padding:0;
    border:1px solid #c19b64;
    background:#fff9ee;
    color:#875821;
    font:700 17px/1 Arial,sans-serif;
    cursor:pointer;
}

.bsx-calendar__head button:disabled{
    opacity:.3;
    cursor:default;
}

.bsx-calendar__weekdays,
.bsx-calendar__grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:3px;
}

.bsx-calendar__weekdays{
    margin-bottom:3px;
}

.bsx-calendar__weekdays span{
    color:#9b8263;
    text-align:center;
    font:700 8px/1 Arial,sans-serif;
}

.bsx-calendar__blank{
    height:28px;
}

.bsx-calendar__day{
    position:relative;
    height:28px;
    padding:0;
    border:1px solid #ded0b9;
    background:#ece7df;
    color:#a79e92;
    font:700 9px/1 Arial,sans-serif;
}

.bsx-calendar__day.is-empty{
    opacity:.68;
}

.bsx-calendar__day.has-event{
    border-color:#b5792d;
    background:linear-gradient(#b7292e,#861118);
    color:#fff0c7;
    cursor:pointer;
    box-shadow:inset 0 1px rgba(255,255,255,.15);
}

.bsx-calendar__day.has-event:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:3px;
    height:3px;
    transform:translateX(-50%);
    border-radius:50%;
    background:#f0c76f;
}

.bsx-calendar__day.has-event:hover,
.bsx-calendar__day.has-event.is-selected{
    border-color:#e1b966;
    filter:brightness(1.08);
    outline:1px solid rgba(175,122,41,.24);
}

.bsx-calendar__day.is-today{
    box-shadow:inset 0 0 0 2px #c59345;
}

.bsx-calendar__legend{
    display:flex;
    flex-wrap:wrap;
    gap:7px 10px;
    margin:7px 0;
    color:#8e7659;
    font:400 8px/1.2 Arial,sans-serif;
}

.bsx-calendar__legend span{
    display:flex;
    align-items:center;
    gap:4px;
}

.bsx-dot{
    width:8px;
    height:8px;
    border:1px solid #c2ab88;
}

.bsx-dot--event{
    border-color:#9f611d;
    background:#97151b;
}

.bsx-dot--empty{
    background:#e7e1d8;
}

.bsx-day-events{
    border-top:1px solid #d5bd94;
    padding-top:7px;
}

.bsx-day-events__heading{
    margin-bottom:5px;
    color:#674119;
    font:700 10px Georgia,"Times New Roman",serif;
}

.bsx-day-events__empty{
    padding:7px;
    color:#97836b;
    text-align:center;
    font:400 9px/1.35 Arial,sans-serif;
}

.bsx-day-event{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:7px;
    align-items:start;
    padding:6px 4px;
    border-top:1px dotted rgba(176,144,92,.38);
    color:inherit!important;
    text-decoration:none!important;
}

.bsx-day-event:hover{
    background:rgba(157,104,29,.05);
}

.bsx-day-event__time{
    color:#95151b;
    font:700 11px Georgia,"Times New Roman",serif;
}

.bsx-day-event__info{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.bsx-day-event__info strong{
    color:#49311d;
    font:700 11px/1.25 Georgia,"Times New Roman",serif;
}

.bsx-day-event__info small{
    color:#8d775d;
    font:400 9px/1.25 Arial,sans-serif;
}

@media(max-width:720px){
    .bsx-weekly__item{
        grid-template-columns:28px minmax(0,1fr);
    }

    .bsx-weekly__next{
        grid-column:2;
        justify-self:start;
    }
}

/* =========================================================
   v1.3 — выбранная будущая дата в стиле обычных осад
   ========================================================= */

.bsx-sieges-title{
    position:relative;
}

.bsx-back-today{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:23px;
    margin-left:8px;
    padding:3px 8px;
    border:1px solid #b9863d;
    background:linear-gradient(#fff9ed,#ead7b8);
    color:#77471a;
    font:700 9px/1 Arial,sans-serif;
    cursor:pointer;
    vertical-align:middle;
    box-shadow:inset 0 1px rgba(255,255,255,.75);
}

.bsx-back-today:hover{
    border-color:#9b641f;
    background:linear-gradient(#fffdf8,#eddfc8);
}

/* Будущая осада сверху выглядит как обычная карточка списка */
.bsx-future-siege-card{
    position:relative;
    display:block!important;
    padding:9px 10px 10px!important;
    margin:0!important;
    border:1px solid #caa56b!important;
    border-left-width:4px!important;
    background:
        radial-gradient(circle at 92% 18%,rgba(184,144,82,.08),transparent 25%),
        linear-gradient(180deg,#fffaf2 0%,#efe0c5 100%)!important;
    color:#49321e!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.78),
        0 1px 2px rgba(77,50,20,.05)!important;
}

.bsx-future-siege-card.is-house{
    border-left-color:#d94b50!important;
}

.bsx-future-siege-card.is-castle{
    border-left-color:#d5a000!important;
}

.bsx-future-siege-card + .bsx-future-siege-card{
    margin-top:7px!important;
}

.bsx-future-siege-card__datetime{
    margin-bottom:4px;
    color:#cf3f45;
    font:700 11px/1 Georgia,"Times New Roman",serif;
}

.bsx-future-siege-card.is-castle .bsx-future-siege-card__datetime{
    color:#a97700;
}

.bsx-future-siege-card__title{
    display:block;
    margin-bottom:4px;
    color:#5a3418!important;
    text-decoration:none!important;
    font:700 13px/1.25 Georgia,"Times New Roman",serif;
}

.bsx-future-siege-card__title:hover{
    color:#8f151b!important;
    text-decoration:underline!important;
}

.bsx-future-siege-card__details{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.bsx-future-siege-card__row{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    align-items:baseline;
    color:#74624d;
    font:400 10px/1.25 Arial,sans-serif;
}

.bsx-future-siege-card__label{
    color:#8d765b;
}

.bsx-future-siege-card__value{
    color:#5a3b20;
    font-weight:700;
}

.bsx-main-list-empty{
    padding:14px 8px;
    border:1px solid #d3b987;
    background:#fff9ef;
    color:#8c765b;
    text-align:center;
    font:400 10px/1.4 Arial,sans-serif;
}


/* =========================================================
   v1.4 STABLE — сегодняшние осады + будущие даты
   ========================================================= */

.bsx-future-siege-card__story{
    margin:4px 0 5px;
    color:#5b4836;
    font:400 10px/1.35 Arial,sans-serif;
    white-space:pre-line;
}

.bsx-today-fallback-card{
    /* Карточка, добавленная модулем, если DLE {custom} ещё не вывел
       свежую сегодняшнюю осаду. Визуально остаётся частью списка. */
    animation:bsxTodayAppear .18s ease-out;
}

@keyframes bsxTodayAppear{
    from{opacity:.35;transform:translateY(-2px)}
    to{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
    .bsx-today-fallback-card{animation:none}
}


/* =========================================================
   v1.6 — FULL RULES / OLD LOGIC RESTORED IN LIGHT THEME
   Дом / Усадьба / Замок / Резиденция + владелец + адрес
   + осаждающий + правила.
   ========================================================= */

#sieges-list-container .bsx-classic-siege-card{
    position:relative;
    display:block;
    margin:0 0 7px;
    padding:8px 10px 9px;
    border:1px solid #d0b07a!important;
    border-left:4px solid #d44850!important;
    background:
        linear-gradient(90deg,rgba(196,37,47,.035),transparent 74%),
        linear-gradient(180deg,#fffaf1 0%,#eee1cb 100%)!important;
    color:#43311f!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.78),
        0 2px 5px rgba(94,61,25,.045)!important;
}

#sieges-list-container .bsx-classic-siege-card.is-estate{
    border-left-color:#a96327!important;
}

#sieges-list-container .bsx-classic-siege-card.is-castle{
    border-left-color:#d0a300!important;
    background:
        linear-gradient(90deg,rgba(215,173,15,.065),transparent 74%),
        linear-gradient(180deg,#fffaf1 0%,#eee1cb 100%)!important;
}

#sieges-list-container .bsx-classic-siege-card.is-residence{
    border-left-color:#7a5a9c!important;
    background:
        linear-gradient(90deg,rgba(102,75,143,.05),transparent 74%),
        linear-gradient(180deg,#fffaf1 0%,#eee1cb 100%)!important;
}

#sieges-list-container .bsx-classic-siege-card.is-clickable{
    cursor:pointer;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

#sieges-list-container .bsx-classic-siege-card.is-clickable:hover{
    transform:translateY(-1px);
    border-color:#b9803d!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.82),
        0 4px 9px rgba(94,61,25,.10)!important;
}

.bsx-classic-siege-card__datetime{
    margin-bottom:3px;
    color:#d13c45;
    font:700 11px/1.15 Arial,sans-serif;
}

.bsx-classic-siege-card.is-castle .bsx-classic-siege-card__datetime{
    color:#a77d00;
}

.bsx-classic-siege-card.is-residence .bsx-classic-siege-card__datetime{
    color:#72568d;
}

.bsx-classic-siege-card__main{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:3px 4px;
    font:700 12px/1.25 Arial,sans-serif;
}

.bsx-classic-siege-card__icon{
    font-size:12px;
}

.bsx-classic-siege-card__kind{
    color:#4c3420;
}

.bsx-classic-siege-card__sword{
    color:#8c5d27;
    font-size:10px;
}

.bsx-classic-siege-card__owner{
    color:#d2454f;
}

.bsx-classic-siege-card.is-castle .bsx-classic-siege-card__owner{
    color:#8d6a00;
}

.bsx-classic-siege-card.is-residence .bsx-classic-siege-card__owner{
    color:#72568d;
}

.bsx-classic-siege-card__address{
    margin:2px 0 0 17px;
    color:#7d6951;
    font:400 10px/1.28 Arial,sans-serif;
}

.bsx-classic-siege-card__address strong{
    color:#7d6951;
    font-weight:400;
}

.bsx-classic-siege-card__attack{
    margin-top:3px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:3px;
    color:#4e3a27;
    font:700 11px/1.25 Arial,sans-serif;
}

.bsx-classic-siege-card__attacker{
    color:#cf4550;
}

.bsx-classic-siege-card.is-castle .bsx-classic-siege-card__attacker{
    color:#947000;
}

.bsx-classic-siege-card.is-residence .bsx-classic-siege-card__attacker{
    color:#765990;
}

.bsx-classic-siege-card__rules{
    margin-top:3px;
    color:#5e4c39;
    font:400 10px/1.25 Arial,sans-serif;
}

.bsx-classic-siege-card__rules strong.is-yes{
    color:#25935c;
}

.bsx-classic-siege-card__rules strong.is-no{
    color:#bf3a43;
}

.bsx-classic-siege-card__fallback{
    margin-top:4px;
    color:#665441;
    font:400 10px/1.35 Arial,sans-serif;
    white-space:pre-line;
}


/* =========================================================
   v1.7 EXACT OLD SIEGE_ITEM LOGIC
   ========================================================= */

.bsx-classic-siege-card__clan{
    display:inline-block;
    width:16px!important;
    height:16px!important;
    flex:0 0 16px;
    object-fit:cover;
    vertical-align:middle;
    margin:0 1px;
    border-radius:2px;
    border:0!important;
    box-shadow:none!important;
}


/* =========================================================
   BRAZZERS EVENTS v1.8 — VISUAL POLISH
   Только визуальные улучшения. Логика PHP/JS не меняется.
   ========================================================= */

/* --- Общая композиция --- */
.bsx-sieges-shell{
    padding:12px 12px 11px;
    background:
        radial-gradient(circle at 88% 7%,rgba(178,132,61,.09),transparent 27%),
        linear-gradient(180deg,#fffaf2 0%,#f4e8d4 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.bsx-sieges-title{
    margin-bottom:11px;
    padding-bottom:9px;
    color:#8c171c;
    font:700 16px/1.2 Georgia,"Times New Roman",serif;
    letter-spacing:.01em;
    border-bottom:1px dashed rgba(155,112,51,.38);
}

.bsx-sieges-title:before,
.bsx-sieges-title:after{
    content:"";
    display:inline-block;
    width:14px;
    height:1px;
    margin:0 7px 4px;
    background:linear-gradient(90deg,transparent,#b88a43);
    vertical-align:middle;
}

.bsx-sieges-title:after{
    background:linear-gradient(90deg,#b88a43,transparent);
}

/* --- Старые siege_item.tpl карточки: переоформляем inline-стили светло --- */
#sieges-list-container .siege-card{
    margin-bottom:7px!important;
    padding:9px 10px!important;
    border-radius:1px!important;
    border:1px solid #d1b17b!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.80),
        0 2px 5px rgba(77,51,25,.055)!important;
}

/* Дом */
#sieges-list-container .siege-card[style*="#ff6b6b"]{
    border-left:4px solid #cf4149!important;
    background:
        linear-gradient(90deg,rgba(191,38,48,.045),transparent 75%),
        linear-gradient(180deg,#fffaf2 0%,#f0e3ce 100%)!important;
}

/* Замок */
#sieges-list-container .siege-card[style*="#ffc90d"]{
    border-left:4px solid #c99a00!important;
    background:
        linear-gradient(90deg,rgba(205,162,18,.07),transparent 75%),
        linear-gradient(180deg,#fffaf2 0%,#f0e3ce 100%)!important;
}

/* Старые внутренние inline-цвета переводим в читаемую светлую гамму */
#sieges-list-container .siege-card > div{
    line-height:1.32!important;
}

#sieges-list-container .siege-card > div:first-child{
    margin-bottom:3px!important;
    color:#c9363f!important;
    font:700 11px/1.15 Arial,sans-serif!important;
}

#sieges-list-container .siege-card[style*="#ffc90d"] > div:first-child{
    color:#9f7700!important;
}

#sieges-list-container .siege-card > div:nth-child(2){
    color:#4b3320!important;
    font:700 12px/1.28 Arial,sans-serif!important;
}

#sieges-list-container .siege-card > div:nth-child(3),
#sieges-list-container .siege-card > div:nth-child(4),
#sieges-list-container .siege-card > div:nth-child(5){
    color:#6e5b46!important;
}

#sieges-list-container .siege-card strong{
    color:#c83d48!important;
    text-shadow:none!important;
}

#sieges-list-container .siege-card[style*="#ffc90d"] strong{
    color:#8e6a00!important;
}

#sieges-list-container .siege-card img{
    width:17px!important;
    height:17px!important;
    margin-right:4px!important;
    border:1px solid rgba(164,122,59,.36)!important;
    border-radius:2px!important;
    background:#fff9ee;
    box-shadow:0 1px 2px rgba(67,45,22,.08)!important;
}

/* Да / Нет остаются визуально мгновенно понятными */
#sieges-list-container .siege-card span[style*="#4ade80"]{
    color:#218653!important;
    font-weight:700!important;
}

/* --- Новые/fallback карточки: те же пропорции, что у старых --- */
#sieges-list-container .bsx-classic-siege-card{
    margin-bottom:7px!important;
    padding:9px 10px!important;
}

.bsx-classic-siege-card__datetime{
    margin-bottom:4px;
    font-size:11px;
}

.bsx-classic-siege-card__main{
    gap:3px 4px;
    font-size:12px;
    line-height:1.28;
}

.bsx-classic-siege-card__address{
    margin:3px 0 0 18px;
    font-size:10.5px;
    line-height:1.3;
}

.bsx-classic-siege-card__attack{
    margin-top:3px;
    font-size:11px;
    line-height:1.3;
}

.bsx-classic-siege-card__rules{
    margin-top:3px;
    font-size:10.5px;
    line-height:1.3;
}

.bsx-classic-siege-card__rules strong{
    display:inline-block;
    min-width:20px;
    margin-left:2px;
    font-weight:700;
}

/* --- Раздел "Регулярные события" --- */
.bsx-extra{
    margin-top:11px;
}

.bsx-extra__title{
    margin-bottom:8px;
    padding:8px 4px;
    color:#744318;
    font:700 11.5px/1.1 Georgia,"Times New Roman",serif;
    letter-spacing:.015em;
}

.bsx-weekly__list{
    gap:6px;
}

.bsx-weekly__item{
    min-height:48px;
    grid-template-columns:31px minmax(0,1fr) auto;
    gap:8px;
    padding:7px 8px;
    border-color:#d0b180;
    background:
        linear-gradient(90deg,rgba(179,132,64,.025),transparent 70%),
        linear-gradient(180deg,#fffaf2,#efe3d0);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),
        0 1px 3px rgba(75,51,25,.035);
}

.bsx-weekly__item.is-today{
    border-color:#bc8c49;
    box-shadow:
        inset 4px 0 #97141a,
        inset 0 1px rgba(255,255,255,.8),
        0 2px 5px rgba(92,45,25,.05);
}

.bsx-weekly__icon{
    width:31px;
    height:31px;
    border-color:#c8a36c;
    background:linear-gradient(#fffdf8,#f4e8d4);
    font-size:14px;
    box-shadow:inset 0 1px rgba(255,255,255,.8);
}

.bsx-weekly__text{
    gap:2px;
}

.bsx-weekly__text strong{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    color:#51331c;
    font:700 12.5px/1.12 Georgia,"Times New Roman",serif;
}

.bsx-weekly__text small{
    color:#806b52;
    font:400 9.5px/1.2 Arial,sans-serif;
}

.bsx-weekly__next{
    min-width:48px;
    padding:5px 6px;
    border-color:#c9a66f;
    background:#faf1e3;
    color:#80623e;
    font-size:9px;
}

.bsx-weekly__item.is-today .bsx-weekly__next{
    border-color:#9d641f;
    background:linear-gradient(#ac2329,#7c1016);
    color:#fff1cb;
    box-shadow:inset 0 1px rgba(255,255,255,.12);
}

/* --- Будущие осады: кнопка --- */
.bsx-future{
    margin-top:9px;
}

.bsx-future__toggle{
    min-height:42px;
    grid-template-columns:20px minmax(0,1fr) 28px 12px;
    padding:8px 9px;
    border-color:#bb8b48;
    background:
        linear-gradient(180deg,#fffaf1 0%,#ead7ba 100%);
    color:#613817;
    font:700 13px/1 Georgia,"Times New Roman",serif;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.85),
        0 2px 4px rgba(77,49,18,.04);
}

.bsx-future__toggle b{
    min-width:25px;
    height:23px;
    border-color:#a9742a;
    background:linear-gradient(#a91f26,#7f1016);
    color:#fff0c7;
}

/* --- Календарь --- */
.bsx-future__panel{
    padding:10px 9px 9px;
    border-color:#c6a16a;
    background:
        radial-gradient(circle at 88% 9%,rgba(179,135,68,.07),transparent 28%),
        linear-gradient(#fffdf8,#f1e5d2);
    box-shadow:inset 0 1px rgba(255,255,255,.76);
}

.bsx-calendar__head{
    margin-bottom:8px;
}

.bsx-calendar__head strong{
    color:#563417;
    font-size:12.5px;
}

.bsx-calendar__head button{
    border-color:#c2a06b;
    background:linear-gradient(#fffdf8,#f0e3cf);
}

.bsx-calendar__weekdays span{
    color:#8e775a;
    font-size:8.5px;
}

.bsx-calendar__weekdays,
.bsx-calendar__grid{
    gap:4px;
}

.bsx-calendar__blank,
.bsx-calendar__day{
    height:30px;
}

.bsx-calendar__day{
    border-color:#ddd0bc;
    background:#eee8df;
    color:#aaa096;
    font-size:9.5px;
}

.bsx-calendar__day.has-event{
    border-color:#a86c25;
    background:linear-gradient(180deg,#b5262c,#851117);
    color:#fff1c9;
    box-shadow:
        inset 0 1px rgba(255,255,255,.16),
        0 2px 4px rgba(105,32,26,.10);
}

.bsx-calendar__day.has-event.is-selected{
    border-color:#e1b863;
    box-shadow:
        inset 0 0 0 1px rgba(255,236,179,.32),
        0 0 0 2px rgba(179,126,44,.16);
}

.bsx-calendar__day.is-today:not(.has-event){
    box-shadow:inset 0 0 0 2px #c19550;
    color:#806039;
}

/* --- Легенда и события выбранного дня --- */
.bsx-calendar__legend{
    margin:8px 0;
    padding-bottom:7px;
    border-bottom:1px solid rgba(188,151,91,.25);
    color:#857057;
    font-size:8.5px;
}

.bsx-day-events{
    padding-top:7px;
}

.bsx-day-events__heading{
    margin-bottom:6px;
    color:#673d18;
    font-size:10.5px;
}

.bsx-day-event{
    grid-template-columns:43px minmax(0,1fr);
    padding:7px 4px;
}

.bsx-day-event__time{
    color:#99171c;
    font-size:10.5px;
}

.bsx-day-event__info strong{
    font-size:10.5px;
}

.bsx-day-event__info small{
    margin-top:1px;
    font-size:8.7px;
}

/* --- Кнопка "Сегодня" при просмотре будущей даты --- */
.bsx-back-today{
    min-height:24px;
    margin-left:7px;
    padding:4px 8px;
    border-color:#b78640;
    background:linear-gradient(#fffaf0,#ead8bb);
    color:#744418;
    font-size:8.5px;
}

/* --- Итоговый счётчик --- */
.bsx-sieges-total{
    margin-top:11px;
    padding-top:9px;
    border-top-color:rgba(177,139,80,.34);
    color:#806b53;
    font-size:10px;
}

.bsx-sieges-total strong{
    display:inline-grid;
    place-items:center;
    min-width:18px;
    height:18px;
    margin-left:3px;
    border:1px solid #ba8740;
    border-radius:50%;
    background:#fff7e9;
    color:#95151b;
    font-size:9px;
}

/* Узкая колонка: не режем названия регулярных событий */
@media(max-width:1100px){
    .bsx-weekly__item{
        grid-template-columns:30px minmax(0,1fr) auto;
        gap:6px;
        padding-left:7px;
        padding-right:7px;
    }

    .bsx-weekly__text strong{
        font-size:12px;
    }

    .bsx-weekly__next{
        min-width:45px;
        padding-left:5px;
        padding-right:5px;
    }
}

@media(max-width:720px){
    .bsx-sieges-shell{
        padding:10px;
    }

    .bsx-weekly__item{
        grid-template-columns:31px minmax(0,1fr) auto;
    }

    .bsx-weekly__next{
        grid-column:auto;
        justify-self:auto;
    }
}


/* =========================================================
   BRAZZERS EVENTS v1.9 — FINISHING TOUCHES
   Только CSS + безопасный JS. PHP и логика осад не меняются.
   ========================================================= */

/* 1. Аккуратная линия вокруг "Список событий" без висящих штрихов */
.bsx-sieges-title{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap;
    overflow:hidden;
}

.bsx-sieges-title:before,
.bsx-sieges-title:after{
    content:""!important;
    display:block!important;
    flex:1 1 24px!important;
    width:auto!important;
    max-width:34px!important;
    height:1px!important;
    margin:0!important;
    background:linear-gradient(90deg,transparent,#bd914d)!important;
}

.bsx-sieges-title:after{
    background:linear-gradient(90deg,#bd914d,transparent)!important;
}

/* 2. Ближайшее регулярное событие */
.bsx-nearest-event{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:3px 7px;
    align-items:center;
    margin:0 0 7px;
    padding:7px 8px;
    border:1px solid #d0b17c;
    border-left:3px solid #a3161c;
    background:
        linear-gradient(90deg,rgba(157,22,28,.045),transparent 72%),
        linear-gradient(180deg,#fffaf2,#f0e4d1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.bsx-nearest-event__label{
    grid-row:1 / span 2;
    align-self:center;
    padding:3px 5px;
    border:1px solid #c6a36c;
    background:#fff7e9;
    color:#8c5a23;
    font:700 7.5px/1 Arial,sans-serif;
    letter-spacing:.035em;
    text-transform:uppercase;
}

.bsx-nearest-event strong{
    min-width:0;
    color:#5b371b;
    font:700 10.5px/1.15 Georgia,"Times New Roman",serif;
}

.bsx-nearest-event__time{
    color:#8a7358;
    font:400 8.5px/1.2 Arial,sans-serif;
}

/* 3. Пустое состояние сегодняшних осад */
.bsx-today-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:88px;
    margin:0 0 8px;
    padding:12px 8px;
    border:1px dashed #d2b787;
    background:
        radial-gradient(circle at 50% 18%,rgba(183,141,73,.06),transparent 46%),
        rgba(255,250,242,.52);
    text-align:center;
}

.bsx-today-empty__icon{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    margin-bottom:5px;
    border:1px solid #c6a16a;
    border-radius:50%;
    background:#fff9ee;
    color:#a9762d;
    font-size:12px;
}

.bsx-today-empty strong{
    color:#68431f;
    font:700 10.5px/1.25 Georgia,"Times New Roman",serif;
}

.bsx-today-empty > span:last-child{
    max-width:190px;
    margin-top:3px;
    color:#927b60;
    font:400 8.5px/1.35 Arial,sans-serif;
}

/* 4. Регулярные события — ещё немного места названию */
.bsx-weekly__item{
    grid-template-columns:31px minmax(0,1fr) 47px!important;
    column-gap:6px!important;
}

.bsx-weekly__text strong{
    font-size:11.5px!important;
    line-height:1.08!important;
}

.bsx-weekly__next{
    min-width:43px!important;
    padding-left:4px!important;
    padding-right:4px!important;
}

/* Слегка компактнее блок будущих осад */
.bsx-future__toggle{
    letter-spacing:.005em;
}

@media(max-width:1100px){
    .bsx-weekly__item{
        grid-template-columns:30px minmax(0,1fr) 45px!important;
    }

    .bsx-nearest-event{
        grid-template-columns:auto minmax(0,1fr);
        padding-left:7px;
        padding-right:7px;
    }
}

@media(max-width:720px){
    .bsx-nearest-event{
        grid-template-columns:1fr;
        gap:3px;
        text-align:center;
    }

    .bsx-nearest-event__label{
        grid-row:auto;
        justify-self:center;
    }

    .bsx-weekly__item{
        grid-template-columns:31px minmax(0,1fr) 45px!important;
    }
}


/* =========================================================
   BRAZZERS EVENTS v2.0 — FINAL POLISH
   Финальная визуальная доводка без изменения логики осад.
   ========================================================= */

/* 1. Убираем отдельную карточку "Ближайшее" из v1.9 */
.bsx-nearest-event{
    display:none!important;
}

/* Ближайшее событие подсвечивается прямо в своей строке */
.bsx-weekly__item.is-nearest{
    border-color:#c6a057!important;
    background:
        linear-gradient(90deg,rgba(190,143,55,.07),transparent 72%),
        linear-gradient(180deg,#fffaf1,#efe0c6)!important;
    box-shadow:
        inset 3px 0 #c29335,
        inset 0 1px rgba(255,255,255,.82),
        0 2px 5px rgba(89,61,26,.05)!important;
}

/* Если событие одновременно "Сегодня", красная метка важнее золотой */
.bsx-weekly__item.is-today.is-nearest{
    border-color:#bb8b48!important;
    box-shadow:
        inset 4px 0 #97141a,
        inset 0 1px rgba(255,255,255,.82),
        0 2px 5px rgba(89,45,25,.06)!important;
}

.bsx-nearest-badge{
    align-self:flex-start;
    display:inline-flex;
    width:max-content;
    margin:0 0 2px;
    padding:2px 5px;
    border:1px solid #c39a55;
    background:linear-gradient(#fff8e8,#edd9b7);
    color:#8a591d;
    font:700 7px/1 Arial,sans-serif;
    letter-spacing:.045em;
    text-transform:uppercase;
}

/* 2. Пустое состояние делаем заметно компактнее */
.bsx-today-empty{
    min-height:70px!important;
    margin-bottom:7px!important;
    padding:9px 8px!important;
}

.bsx-today-empty__icon{
    width:24px!important;
    height:24px!important;
    margin-bottom:4px!important;
    font-size:10px!important;
}

.bsx-today-empty strong{
    font-size:10px!important;
    line-height:1.18!important;
}

.bsx-today-empty > span:last-child{
    max-width:175px!important;
    margin-top:2px!important;
    font-size:8px!important;
    line-height:1.3!important;
}

/* 3. Заголовок "Список событий" — более короткие боковые линии */
.bsx-sieges-title{
    gap:7px!important;
}

.bsx-sieges-title:before,
.bsx-sieges-title:after{
    flex:0 1 24px!important;
    max-width:24px!important;
}

/* 4. Чуть больше места названию регулярного события */
.bsx-weekly__item{
    grid-template-columns:31px minmax(0,1fr) 44px!important;
    gap:6px!important;
}

.bsx-weekly__text strong{
    font-size:11.25px!important;
    line-height:1.07!important;
}

.bsx-weekly__next{
    min-width:41px!important;
    padding-left:3px!important;
    padding-right:3px!important;
}

/* Ближайшее + название не должны раздувать карточку */
.bsx-weekly__text{
    justify-content:center;
}

/* Более аккуратный футер-счётчик */
.bsx-sieges-total{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:4px;
}

/* Немного деликатнее разделители между смысловыми секциями */
.bsx-extra__title{
    margin-top:1px;
    border-top-color:rgba(181,145,88,.28)!important;
    border-bottom-color:rgba(181,145,88,.28)!important;
}

/* Будущие осады — компактнее стрелка и счётчик */
.bsx-future__toggle i{
    font-size:13px!important;
}

.bsx-future__toggle b{
    min-width:24px!important;
}

/* На узкой колонке сохраняем одну композицию */
@media(max-width:1100px){
    .bsx-weekly__item{
        grid-template-columns:30px minmax(0,1fr) 43px!important;
    }

    .bsx-weekly__text strong{
        font-size:11px!important;
    }
}

@media(max-width:720px){
    .bsx-weekly__item{
        grid-template-columns:31px minmax(0,1fr) 43px!important;
    }

    .bsx-nearest-badge{
        margin-bottom:2px;
    }
}


/* =========================================================
   BRAZZERS EVENTS v2.0.3 — EMPTY STATE FINAL FIX
   Совмещает:
   - раздельный текст из v2.0.1
   - полупрозрачные мечи из v2.0.2
   ========================================================= */

.bsx-today-empty{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate;
    min-height:74px!important;
    text-align:center!important;
}

/* Полупрозрачные мечи на фоне */
.bsx-today-empty:before{
    content:"⚔";
    position:absolute;
    z-index:0;
    left:50%;
    top:43%;
    transform:translate(-50%,-50%);
    color:#8b5f26;
    font:700 82px/1 Georgia,"Times New Roman",serif;
    opacity:.055;
    pointer-events:none;
    user-select:none;
    text-shadow:0 1px 0 rgba(255,255,255,.22);
}

/* Весь реальный текст строго поверх водяного знака */
.bsx-today-empty > *{
    position:relative!important;
    z-index:1!important;
}

/* Заголовок — отдельной строкой */
.bsx-today-empty strong{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    color:#68431f!important;
    font:700 10.5px/1.25 Georgia,"Times New Roman",serif!important;
    text-align:center!important;
    white-space:normal!important;
}

/* Пояснение — строго следующей строкой */
.bsx-today-empty > span:last-child{
    display:block!important;
    width:100%!important;
    max-width:180px!important;
    margin:5px auto 0!important;
    padding:0!important;
    color:#927b60!important;
    font:400 8.5px/1.35 Arial,sans-serif!important;
    text-align:center!important;
    white-space:normal!important;
}

/* Иконка над текстом */
.bsx-today-empty__icon{
    display:grid!important;
    margin:0 auto 5px!important;
}

@media(max-width:720px){
    .bsx-today-empty:before{
        font-size:74px;
        top:42%;
        opacity:.05;
    }

    .bsx-today-empty > span:last-child{
        max-width:170px!important;
    }
}


/* =========================================================
   BRAZZERS EVENTS v2.1 — BUGFIX
   1) future-date title + visible "Сегодня"
   2) current day clickable in calendar
   ========================================================= */

/* Обычный заголовок остаётся как в v2.0.3 */
.bsx-sieges-title.is-date-view{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    overflow:visible!important;
    white-space:normal!important;
    padding-bottom:8px!important;
}

/* В режиме даты не рисуем линии вокруг каждой строки */
.bsx-sieges-title.is-date-view:before,
.bsx-sieges-title.is-date-view:after{
    display:none!important;
}

.bsx-date-view__label{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    color:#8c171c;
    font:700 14px/1.15 Georgia,"Times New Roman",serif;
    white-space:nowrap;
}

.bsx-date-view__label:before,
.bsx-date-view__label:after{
    content:"";
    display:block;
    width:20px;
    height:1px;
    margin:0 6px;
    background:linear-gradient(90deg,transparent,#bd914d);
}

.bsx-date-view__label:after{
    background:linear-gradient(90deg,#bd914d,transparent);
}

.bsx-date-view__controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:25px;
}

.bsx-date-view__date{
    color:#9a1a20;
    font:700 11px/1 Georgia,"Times New Roman",serif;
}

.bsx-date-view__controls .bsx-back-today{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:23px!important;
    margin:0!important;
    padding:4px 8px!important;
    border:1px solid #b78640!important;
    background:linear-gradient(#fffaf0,#ead8bb)!important;
    color:#744418!important;
    font:700 8px/1 Arial,sans-serif!important;
    cursor:pointer;
}

.bsx-date-view__controls .bsx-back-today:hover{
    border-color:#9c6828!important;
    filter:brightness(1.025);
}

/* Сегодня можно кликнуть в календаре */
.bsx-calendar__day.is-clickable-today{
    cursor:pointer!important;
    opacity:1!important;
    border-color:#c29550!important;
    background:linear-gradient(#fff9ed,#ecdec7)!important;
    color:#7c5a31!important;
}

.bsx-calendar__day.is-clickable-today:hover,
.bsx-calendar__day.is-clickable-today.is-selected{
    border-color:#a86c25!important;
    background:linear-gradient(#f5e4c4,#e7cfaa)!important;
    color:#6b421b!important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.55),
        0 0 0 2px rgba(179,126,44,.12)!important;
}

@media(max-width:720px){
    .bsx-date-view__label{
        font-size:13px;
    }

    .bsx-date-view__controls{
        gap:5px;
    }
}
