/* =============================================================
   ECUBE ACCESS - NOBO WINTER THEME (GOLD SIGNAL)
   ecube-nobo-winter-v6.css
   Midnight sky + golden smoke + signal gold · Rethink Sans / Space Grotesk
   Palette = FIXED nobo_winter preset constants (spec §2.2). No per-event
   values in this file. New filename per change (Cloudflare).
   ============================================================= */

/* ── Self-hosted fonts (presale CSP: no Google Fonts) ── */
@font-face{font-family:'Rethink Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/RethinkSans-Regular.woff2') format('woff2')}
@font-face{font-family:'Rethink Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/RethinkSans-Medium.woff2') format('woff2')}
@font-face{font-family:'Rethink Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/RethinkSans-Bold.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/SpaceGrotesk-Light.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SpaceGrotesk-Regular.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/SpaceGrotesk-Medium.woff2') format('woff2')}

/* ── Base canvas ── */
html,body{background:#050402!important;color:#FBF7F0!important;font-family:'Rethink Sans',-apple-system,'Helvetica Neue',Arial,sans-serif!important;-webkit-font-smoothing:antialiased}
em,i,cite{font-style:normal!important} /* spec §2.3: no italics anywhere */
.navbar,.navbar-default,.navbar-fixed-top,header,.header{background:#070707!important;border-bottom:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important}
/* Pretix hangs .header-part below the 20px header strip via margin-bottom:-20px
   (fine on stock transparent headers); with our dark band + border the strip
   edge slices through "Log in". Keep the links inside the band. */
header .page-header-links .header-part{margin-bottom:0!important}
.navbar-default .navbar-brand,.navbar-brand,.navbar a,.navbar-default .navbar-nav>li>a{color:#FBF7F0!important}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#E8B53A!important}
.container,.container-fluid,body>.container{background:transparent!important}
main,main#content,#content,.main-box,[role="main"]{background:#050402!important;color:#FBF7F0!important}

/* ── Page headers (checkout / order / account pages - index hides its own) ── */
.page-header,.event-header,.shop-header{
    background:#050402!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    color:#FBF7F0!important;
    padding:44px 52px 30px!important;
    position:relative!important;
}
.page-header h1,.event-header h1,.page-header h2,.event-header h2{
    font-family:'Rethink Sans',sans-serif!important;
    font-size:clamp(28px,4vw,44px)!important;
    font-weight:700!important;
    line-height:1.05!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    color:#FFFFFF!important;
    margin:0!important;padding:0!important;
}

/* ── Panels / cards ── */
.panel,.panel-default,.panel-body,.panel-heading,.panel-footer,
.card,.well,.info-row,.shop-box,.event-box{
    background:#0A0A0A!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#FBF7F0!important;
    box-shadow:none!important;
    border-radius:2px!important;
}
.panel-default>.panel-heading{
    background:rgba(232,181,58,.05)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    color:#FFFFFF!important;
    font-family:'Rethink Sans',sans-serif!important;
    font-size:12px!important;font-weight:700!important;
    letter-spacing:.22em!important;text-transform:uppercase!important;
}

/* ── Product rows (generic presale pages; the index layout refines these) ── */
.item,.item-row,.product-row,.item-category,.product,.variation,
.item-description-box,.category,.category-box,article{
    background:#0A0A0A!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#FBF7F0!important;
    border-radius:2px!important;
    transition:border-color .2s,background .2s!important;
}
.item:hover,.item-row:hover,.product-row:hover{
    border-color:rgba(232,181,58,.28)!important;
    background:#0A0A0A!important;
}
.item-category h3,.category h3,.item h4,.product-name,.item-name{
    font-family:'Rethink Sans',sans-serif!important;
    font-size:15px!important;font-weight:700!important;
    letter-spacing:.18em!important;text-transform:uppercase!important;
    color:#FFFFFF!important;
}
.item-description,.product-description,.variation-description{color:rgba(255,255,255,.45)!important}

label,.control-label{
    color:rgba(255,255,255,.45)!important;font-weight:500!important;
    text-transform:uppercase!important;font-size:.6rem!important;letter-spacing:.28em!important;
}

/* ── Prices: technical, champagne ── */
.price,.price-current,.item-price,.product-price,.total-price{
    font-family:'Space Grotesk',sans-serif!important;
    color:#F3E3B8!important;font-weight:500!important;font-size:1.05rem!important;letter-spacing:.04em!important;
}
.price-old,.price-original{color:rgba(255,255,255,.45)!important}
.tax-info,.vat-info,.price small{color:rgba(255,255,255,.45)!important;font-size:.65rem!important}

/* ── Buttons: THE gold-stroke box (motif §2.4-7) ── */
.btn-primary,.btn-success,.btn-add-to-cart,
button[type="submit"],input[type="submit"],.btn-checkout{
    background:rgba(5,4,2,.55)!important;
    border:1px solid #D4A017!important;
    color:#E8C158!important;
    font-family:'Rethink Sans',sans-serif!important;
    font-size:11px!important;font-weight:500!important;
    letter-spacing:.28em!important;
    text-transform:uppercase!important;
    border-radius:2px!important;
    padding:14px 28px!important;
    transition:background .2s,box-shadow .2s,color .2s!important;
}
.btn-primary:hover,.btn-primary:focus,
.btn-success:hover,button[type="submit"]:hover,.btn-checkout:hover{
    background:rgba(232,181,58,.08)!important;
    border-color:#D4A017!important;
    color:#F7DF9C!important;
    box-shadow:0 0 18px rgba(212,160,23,.18)!important;
    transform:none!important;
}
.btn-default,.btn-secondary{
    background:transparent!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:rgba(255,255,255,.45)!important;
    border-radius:2px!important;
    font-family:'Rethink Sans',sans-serif!important;
    font-size:10px!important;letter-spacing:.22em!important;text-transform:uppercase!important;
    transition:all .2s!important;
}
.btn-default:hover,.btn-secondary:hover{border-color:rgba(232,181,58,.35)!important;color:#E8C158!important}
.btn-danger{background:transparent!important;border:1px solid #E5484D!important;color:#E5484D!important;border-radius:2px!important}

/* ── Links ── */
a:not(.btn),a:not(.btn):visited{color:#E8C158!important;transition:color .2s!important}
a:not(.btn):hover,a:not(.btn):focus{color:#F7DF9C!important;text-decoration:none!important}

/* ── Forms ── */
.form-control,input[type="text"],input[type="email"],input[type="tel"],
input[type="number"],input[type="password"],input[type="date"],textarea,select{
    background:#030303!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#FBF7F0!important;border-radius:2px!important;
}
.form-control:focus,input:focus,textarea:focus,select:focus{
    border-color:rgba(232,181,58,.35)!important;
    box-shadow:0 0 0 2px rgba(232,181,58,.08)!important;outline:none!important;
}
.form-control::placeholder,input::placeholder{color:rgba(255,255,255,.45)!important}

h1,h2,h3,h4,h5,h6{color:#FFFFFF!important}
p,li,span,div,td,th{color:#FBF7F0!important}
.text-muted,.help-block,small,.small{color:#8FA3B8!important}

/* ── Tables ── */
.table,table{background:transparent!important;border-color:rgba(255,255,255,.10)!important}
.table>thead>tr>th{
    border-bottom:2px solid rgba(232,181,58,.25)!important;
    color:#E8B53A!important;text-transform:uppercase!important;
    font-size:.6rem!important;letter-spacing:.28em!important;font-weight:500!important;
}
.table>tbody>tr>td{border-top-color:rgba(255,255,255,.06)!important}
.table-striped>tbody>tr:nth-of-type(odd){background:rgba(255,255,255,.02)!important}
.table-hover>tbody>tr:hover{background:rgba(232,181,58,.04)!important}

/* ── Alerts ── */
.alert{border-radius:0!important;border:none!important}
.alert-info{background:rgba(232,181,58,.07)!important;border-left:3px solid #E8B53A!important;color:#FBF7F0!important}
.alert-success{background:rgba(232,181,58,.08)!important;border-left:3px solid #E8B53A!important;color:#FBF7F0!important}
.alert-warning{background:rgba(232,181,58,.06)!important;border-left:3px solid #E8C158!important;color:#FBF7F0!important}
.alert-danger{background:rgba(229,72,77,.12)!important;border-left:3px solid #E5484D!important;color:#FBF7F0!important}

/* ── Badges / status ── */
.badge,.label,.label-default{background:rgba(232,181,58,.12)!important;color:#E8C158!important;border-radius:2px!important}
.label-success,.badge-success{background:#4ade80!important;border:1px solid #86efac!important;color:#08110b!important;font-weight:700!important;text-shadow:none!important}
.label-danger{background:rgba(229,72,77,.15)!important;color:#E5484D!important}
.text-success{color:#4ade80!important}
.text-danger{color:#E5484D!important}
.text-info{color:#E8B53A!important}
.textbubble-success{background:#4ade80!important;color:#08110b!important;border:1px solid #86efac!important;font-weight:700!important}
.textbubble-success .fa{color:#08110b!important}
.textbubble-warning{background:rgba(232,181,58,.15)!important;color:#FBF7F0!important;border:1px solid rgba(232,181,58,.3)!important}
.textbubble-danger{background:rgba(229,72,77,.15)!important;color:#E5484D!important;border:1px solid rgba(229,72,77,.3)!important}
.textbubble-info{background:rgba(232,181,58,.1)!important;color:#E8C158!important;border:1px solid rgba(232,181,58,.2)!important}
.list-group-item.payment,.list-group-item.payment *{background:#030303!important;color:#FBF7F0!important;border-color:rgba(255,255,255,.10)!important}
.list-group-item.payment .ecube-payment-note{color:#FBF7F0!important}

/* ── Modals / dropdowns / misc ── */
.modal-content{background:#0A0A0A!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:2px!important;color:#FBF7F0!important}
.modal-header{border-bottom-color:rgba(255,255,255,.10)!important}
.modal-footer{border-top-color:rgba(255,255,255,.10)!important}
.dropdown-menu{background:#0A0A0A!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:2px!important}
.dropdown-menu>li>a{color:#E8C158!important}
.dropdown-menu>li>a:hover{background:rgba(232,181,58,.06)!important;color:#F7DF9C!important}
.pagination>.active>a,.pagination>.active>span{background:#E8B53A!important;border-color:#E8B53A!important;color:#050402!important}
input[type="checkbox"],input[type="radio"]{accent-color:#E8B53A!important}
hr{border-top-color:rgba(255,255,255,.10)!important}
.quantity-input,.count,input[type="number"]{background:#030303!important;color:#FBF7F0!important;border-color:rgba(255,255,255,.10)!important}
.container.main-box,.container>.row,.main-box>.row,#main-content{background:#050402!important;color:#FBF7F0!important}
*{--bs-body-bg:#050402!important;--bs-card-bg:#0A0A0A!important}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:#050402}
::-webkit-scrollbar-thumb{background:rgba(232,181,58,.18);border-radius:0}
::-webkit-scrollbar-thumb:hover{background:rgba(232,181,58,.4)}

/* ── Footer nuke + Ecube branding breakout (platform standard blocks) ── */
html body div.container.main-box footer,
html body div.container.main-box footer * { display: none !important; height: 0 !important; overflow: hidden !important; }

#ecube-branding-vFinal, #ecube-branding-vFinal * { text-align: center !important; }
#ecube-branding-vFinal {
    display: block !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    padding: 60px 0 40px !important;
    color: rgba(255,255,255,.30) !important;
    font-size: 0.9rem !important;
    background: transparent !important;
}

/* ── Override Pretix brand primary & dialog styling ── */
:root {
  --pretix-brand-primary: #E8B53A !important;
  --pretix-brand-primary-darken-5: #E8B53A !important;
  --pretix-brand-primary-darken-10: #D4A017 !important;
  --pretix-brand-primary-darken-15: #D4A017 !important;
  --pretix-brand-primary-darken-17: #D4A017 !important;
  --pretix-brand-primary-darken-30: #B09020 !important;
}
dialog.modal-card .modal-card-icon { background: #E8B53A !important; color: #050402 !important; }
dialog.modal-card { background: #0A0A0A !important; color: #FBF7F0 !important; border: 1px solid rgba(255,255,255,0.1) !important; }
dialog.modal-card .modal-card-content { color: #FBF7F0 !important; }
dialog::backdrop { background-color: rgba(0,0,0,0.7) !important; backdrop-filter: blur(4px) !important; }

/* ── Kill focus outlines & tap highlight ── */
* { -webkit-tap-highlight-color: transparent !important; }
*:focus { outline: none !important; box-shadow: none !important; }
*:active { outline: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid currentColor !important; outline-offset: 2px !important; }

/* ── Customer login page alignment ── */
#customer-account-login-providers { padding-left: 0 !important; text-align: center !important; }
#customer-account-login-providers li { display: block !important; padding: 0 !important; }
#customer-account-login-providers .btn { text-align: center !important; }

/* ── Hide single-page pagination count ── */
.pagination-container:not(:has(.fa)) { display: none !important; }

/* ── Checkout: pretix light-default widgets on the Gold Signal dark canvas ── */
/* sneak-peek collapsed cart: stock fade is rgba(248,248,248) - white band */
.sneak-peek-trigger{background:linear-gradient(0deg,rgba(5,4,2,.94) 44%,rgba(5,4,2,0) 100%)!important}
.sneak-peek-trigger button{background:transparent!important;border:1px solid #E8B53A!important;color:#E8C158!important;letter-spacing:.22em;text-transform:uppercase;font-size:11px}
/* saved-profile chooser + save-for-reuse rows: stock bg is $panel-footer-bg (light) */
.profile-pre-select,.profile-select-container,.profile-save-container,.profile-add-on{background:#0A0A0A!important;border-color:rgba(255,255,255,.10)!important}
.profile-select-container .profile-desc,.profile-save-container .help-block,.single-profile-desc{color:#8FA3B8!important}
.profile-select.form-control{background:#050402!important;color:#FBF7F0!important;border:1px solid rgba(255,255,255,.14)!important}
.profile-apply{background:transparent!important;border:1px solid #E8B53A!important;color:#E8C158!important}
.profile-save-container label,.profile-save label,.profile-scope .checkbox label{color:#FBF7F0!important}
/* platform footer payment-logos strip: contain as a quiet card */
.ecube-footer-banner{display:flex;justify-content:center;padding:20px 24px}
.ecube-footer-banner img{max-width:680px;width:100%;height:auto;border-radius:6px;opacity:.8}

/* ── Message alerts (pretix paints light strips + state colors) ── */
.alert{background:#0A0A0A!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:2px!important;color:#FBF7F0!important;box-shadow:none!important}
.alert a{color:#E8C158!important}
.alert-danger::before{background-color:rgba(229,72,77,.20)!important}
.alert-success::before{background-color:rgba(232,181,58,.22)!important}
.alert-warning::before{background-color:rgba(232,181,58,.22)!important}
.alert-info::before{background-color:rgba(143,163,184,.18)!important}

/* -- Order page: cancel section + danger panels render white by default -- */
.panel-danger,.panel-danger>.panel-body{background:#0A0A0A!important;color:#FBF7F0!important;border-color:rgba(229,72,77,.35)!important}
.panel-danger>.panel-heading{background:rgba(229,72,77,.14)!important;color:#FBF7F0!important;border-color:rgba(229,72,77,.35)!important}
.panel-danger .btn-danger,.btn-danger{background:transparent!important;border:1px solid #E5484D!important;color:#E5484D!important;border-radius:2px!important}
.panel-danger .btn-danger:hover,.btn-danger:hover{background:rgba(229,72,77,.12)!important}
