/* ═══════════════════════════════════════════════
   Inkpress Login Theme
   Newspaper editorial — pure black & white
   Fonts: Playfair Display SC (display) + Source Serif 4 (body)
   No color. Only ink, paper, contrast, type.
═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display+SC:wght@400;700;900&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,400&display=swap');

:root {
	--ik-ink:     #0d0d0d;
	--ik-ink2:    #1a1a1a;
	--ik-paper:   #f5f1e8;
	--ik-paper2:  #ede8dc;
	--ik-paper3:  #e0dace;
	--ik-rule:    #0d0d0d;
	--ik-muted:   rgba(13,13,13,0.45);
	--ik-border:  rgba(13,13,13,0.15);
	--ik-radius:  4px;
}

#login_wrap.ik-wrap * { box-sizing: border-box; margin: 0; padding: 0; }

#login_wrap.ik-wrap {
	width: 100% !important;
	min-height: 100vh !important;
	position: relative !important;
	overflow: hidden !important;
	background: var(--ik-paper) !important;
	font-family: 'Source Serif 4', Georgia, serif !important;
	color: var(--ik-ink) !important;
}

/* ── Background texture ── */
.ik-bg { position: fixed !important; inset: 0 !important; pointer-events: none !important; z-index: 0 !important; }
.ik-noise {
	position: absolute !important; inset: 0 !important; opacity: 0.04 !important;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
	background-size: 200px 200px !important;
}
.ik-lines {
	position: absolute !important; inset: 0 !important;
	background-image: linear-gradient(rgba(13,13,13,0.025) 1px, transparent 1px) !important;
	background-size: 100% 32px !important;
}
.ik-ink {
	position: absolute !important; border-radius: 50% !important;
	filter: blur(120px) !important; pointer-events: none !important;
	animation: ikDrift 20s ease-in-out infinite !important;
}
.ik-ink-1 { width: 600px !important; height: 600px !important; top: -200px !important; left: -100px !important; background: rgba(13,13,13,0.06) !important; animation-delay: 0s !important; }
.ik-ink-2 { width: 500px !important; height: 500px !important; bottom: -150px !important; right: -80px !important; background: rgba(13,13,13,0.05) !important; animation-delay: 8s !important; }
@keyframes ikDrift { 0%,100%{transform:translate(0,0)} 50%{transform:translate(30px,20px)} }

/* ── Shell ── */
.ik-shell { position: relative !important; z-index: 2 !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 32px 48px !important; }

/* ── Masthead ── */
.ik-masthead { padding-top: 28px !important; }
.ik-masthead-top {
	display: flex !important; align-items: center !important;
	justify-content: space-between !important; padding-bottom: 14px !important;
}
.ik-date-line { font-size: 11px !important; color: var(--ik-muted) !important; font-style: italic !important; letter-spacing: 0.5px !important; }
.ik-masthead-title {
	display: flex !important; align-items: baseline !important; gap: 12px !important;
	text-align: center !important;
}
.ik-masthead-title strong {
	font-family: 'Playfair Display SC', serif !important;
	font-size: clamp(22px, 4vw, 42px) !important; font-weight: 900 !important;
	color: var(--ik-ink) !important; letter-spacing: 4px !important;
}
.ik-edition { font-family: 'Playfair Display SC', serif !important; font-size: 13px !important; color: var(--ik-muted) !important; letter-spacing: 3px !important; font-weight: 400 !important; }
.ik-masthead-right { display: flex !important; align-items: center !important; gap: 10px !important; }
.ik-lang {
	display: flex !important; align-items: center !important; gap: 6px !important;
	padding: 6px 10px !important; border-radius: 3px !important;
	border: 1px solid var(--ik-border) !important;
	background: transparent !important; cursor: pointer !important;
}
.ik-lang img { width: 18px !important; border-radius: 2px !important; }
.ik-lang i { font-size: 9px !important; color: var(--ik-muted) !important; }

.ik-masthead-rule {
	border: none !important;
	border-top: 3px solid var(--ik-ink) !important;
	margin-bottom: 0 !important;
}
.ik-ticker {
	display: flex !important; align-items: center !important; gap: 14px !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid var(--ik-border) !important;
	overflow: hidden !important;
}
.ik-ticker-label {
	font-family: 'Playfair Display SC', serif !important;
	font-size: 10px !important; font-weight: 700 !important; letter-spacing: 2px !important;
	background: var(--ik-ink) !important; color: var(--ik-paper) !important;
	padding: 3px 8px !important; white-space: nowrap !important;
	flex-shrink: 0 !important;
}
.ik-ticker-text {
	font-size: 12px !important; color: var(--ik-muted) !important;
	font-style: italic !important; white-space: nowrap !important;
	animation: ikScroll 30s linear infinite !important;
}
@keyframes ikScroll { 0%{transform:translateX(60%)} 100%{transform:translateX(-100%)} }

/* ── Section rule ── */
.ik-section-rule {
	display: flex !important; align-items: center !important; gap: 0 !important;
	margin-bottom: 20px !important;
}
.ik-section-rule::before, .ik-section-rule::after { content: '' !important; flex: 1 !important; height: 1px !important; background: var(--ik-ink) !important; }
.ik-section-rule span {
	font-family: 'Playfair Display SC', serif !important;
	font-size: 10px !important; letter-spacing: 3px !important;
	color: var(--ik-ink) !important; padding: 0 14px !important;
}

/* ── Main ── */
.ik-main {
	display: flex !important; gap: 48px !important;
	align-items: flex-start !important;
	padding: 32px 0 !important;
	width: 100% !important;
	min-height: calc(100vh - 130px) !important;
}
.ik-left { flex: 1 !important; min-width: 0 !important; padding-right: 48px !important; border-right: 1px solid var(--ik-border) !important; }
.ik-right { flex: 0 0 400px !important; }

/* ── Editorial left ── */
.ik-headline-block { margin-bottom: 32px !important; }
.ik-kicker {
	font-family: 'Playfair Display SC', serif !important;
	font-size: 10px !important; letter-spacing: 3px !important;
	color: var(--ik-muted) !important; margin-bottom: 10px !important;
}
.ik-headline {
	font-family: 'Playfair Display SC', serif !important;
	font-size: clamp(28px, 4vw, 54px) !important; font-weight: 900 !important;
	line-height: 1.05 !important; color: var(--ik-ink) !important;
	margin-bottom: 14px !important;
}
.ik-headline-rule { width: 60px !important; height: 3px !important; background: var(--ik-ink) !important; margin-bottom: 14px !important; }
.ik-standfirst {
	font-size: 16px !important; color: var(--ik-ink) !important;
	line-height: 1.75 !important; font-style: italic !important; max-width: 480px !important;
}

/* ── Columns ── */
.ik-columns { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 32px !important; margin-bottom: 32px !important; border-top: 1px solid var(--ik-border) !important; padding-top: 20px !important; }
.ik-col { display: flex !important; flex-direction: column !important; gap: 20px !important; }
.ik-feat { display: flex !important; gap: 14px !important; padding-bottom: 20px !important; border-bottom: 1px solid var(--ik-border) !important; }
.ik-feat:last-child { border-bottom: none !important; }
.ik-feat-num { font-family: 'Playfair Display SC', serif !important; font-size: 18px !important; font-weight: 900 !important; color: var(--ik-muted) !important; line-height: 1.2 !important; flex-shrink: 0 !important; min-width: 28px !important; }
.ik-feat strong { display: block !important; font-family: 'Playfair Display SC', serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 1px !important; margin-bottom: 6px !important; }
.ik-feat p { font-size: 13px !important; color: var(--ik-muted) !important; line-height: 1.65 !important; }

/* ── Stats ── */
.ik-stats-strip {
	display: flex !important; align-items: center !important;
	padding: 20px 0 !important; border-top: 2px solid var(--ik-ink) !important;
}
.ik-stat { flex: 1 !important; text-align: center !important; }
.ik-stat strong { display: block !important; font-family: 'Playfair Display SC', serif !important; font-size: 28px !important; font-weight: 900 !important; color: var(--ik-ink) !important; }
.ik-stat span { font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 2px !important; color: var(--ik-muted) !important; }
.ik-stat-div { width: 1px !important; height: 40px !important; background: var(--ik-border) !important; }

/* ── Card ── */
.ik-card {
	background: #fff !important;
	border: 1px solid var(--ik-ink) !important;
	border-radius: var(--ik-radius) !important;
	padding: 28px 24px !important;
	box-shadow: 4px 4px 0 var(--ik-ink) !important;
}
.ik-card-head { text-align: center !important; margin-bottom: 22px !important; border-bottom: 1px solid var(--ik-border) !important; padding-bottom: 20px !important; }
.ik-logo-frame {
	width: 100px !important; height: 66px !important; border-radius: var(--ik-radius) !important;
	margin: 0 auto 14px !important; overflow: hidden !important;
	border: 1px solid var(--ik-border) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
}
.ik-logo-frame img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 4px !important; }
.ik-welcome h2 {
	font-family: 'Playfair Display SC', serif !important;
	font-size: 20px !important; font-weight: 700 !important;
	letter-spacing: 2px !important; color: var(--ik-ink) !important; margin-bottom: 4px !important;
}
.ik-welcome p { font-size: 12px !important; color: var(--ik-muted) !important; font-style: italic !important; }

/* ── Tabs ── */
.ik-tabs { margin-bottom: 20px !important; }
.ik-tab-list { list-style: none !important; display: flex !important; gap: 0 !important; border: 1px solid var(--ik-border) !important; border-radius: var(--ik-radius) !important; overflow: hidden !important; }
.ik-tab {
	flex: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important;
	gap: 6px !important; padding: 10px 6px !important;
	cursor: pointer !important; font-size: 11px !important; font-weight: 600 !important;
	color: var(--ik-muted) !important; border-right: 1px solid var(--ik-border) !important;
	font-family: 'Source Serif 4', serif !important;
	transition: all 0.2s !important;
}
.ik-tab:last-child { border-right: none !important; }
.ik-tab.active { background: var(--ik-ink) !important; color: var(--ik-paper) !important; }
.ik-tab i { font-size: 11px !important; }

/* ── Panels ── */
.ik-panels { position: relative !important; }
.ik-panel { display: none !important; }
.ik-panel.active { display: block !important; animation: ikFade 0.25s ease !important; }
@keyframes ikFade { from{opacity:0} to{opacity:1} }

/* ── Form ── */
.ik-form { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.ik-field {
	display: flex !important; align-items: center !important;
	border-radius: var(--ik-radius) !important;
	border: 1px solid var(--ik-border) !important;
	background: var(--ik-paper) !important; overflow: hidden !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}
.ik-field:focus-within { border-color: var(--ik-ink) !important; box-shadow: 2px 2px 0 var(--ik-ink) !important; }
.ik-field i { padding: 0 12px !important; color: var(--ik-muted) !important; font-size: 12px !important; flex-shrink: 0 !important; }
.ik-input, .ik-select {
	flex: 1 !important; padding: 12px 12px 12px 0 !important;
	background: transparent !important; border: none !important; outline: none !important;
	font-size: 13px !important; color: var(--ik-ink) !important;
	font-family: 'Source Serif 4', serif !important;
}
.ik-input::placeholder { color: var(--ik-muted) !important; font-style: italic !important; }
.ik-select option { background: var(--ik-paper) !important; }
.ik-row { display: flex !important; gap: 10px !important; }
.ik-field.half { flex: 1 !important; }

.ik-date-block { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.ik-date-lbl { font-size: 10px !important; color: var(--ik-muted) !important; text-transform: uppercase !important; letter-spacing: 2px !important; font-style: italic !important; }
.ik-date-row { display: flex !important; gap: 8px !important; }
.ik-date-col { flex: 1 !important; }
.ik-date-col .ik-select {
	width: 100% !important; padding: 12px 10px !important;
	border-radius: var(--ik-radius) !important;
	border: 1px solid var(--ik-border) !important;
	background: var(--ik-paper) !important; color: var(--ik-ink) !important;
	font-size: 13px !important; font-family: 'Source Serif 4', serif !important;
	outline: none !important; cursor: pointer !important;
	transition: border-color 0.2s !important;
}
.ik-date-col .ik-select:focus { border-color: var(--ik-ink) !important; }
.ik-date-col .ik-select option { background: var(--ik-paper) !important; }

.ik-btn {
	display: flex !important; align-items: center !important; justify-content: center !important;
	gap: 8px !important; padding: 13px !important; border-radius: var(--ik-radius) !important;
	border: 1.5px solid var(--ik-ink) !important; cursor: pointer !important;
	font-size: 13px !important; font-weight: 700 !important; width: 100% !important;
	font-family: 'Source Serif 4', serif !important;
	transition: all 0.2s !important;
	letter-spacing: 0.5px !important;
}
.ik-btn-main { background: var(--ik-ink) !important; color: var(--ik-paper) !important; box-shadow: 3px 3px 0 rgba(13,13,13,0.2) !important; }
.ik-btn-main:hover { transform: translate(-1px,-1px) !important; box-shadow: 4px 4px 0 rgba(13,13,13,0.2) !important; }
.ik-btn-guest { background: var(--ik-paper2) !important; color: var(--ik-ink) !important; box-shadow: 3px 3px 0 rgba(13,13,13,0.15) !important; }
.ik-btn-guest:hover { transform: translate(-1px,-1px) !important; }
.ik-btn-register { background: var(--ik-paper3) !important; color: var(--ik-ink) !important; box-shadow: 3px 3px 0 rgba(13,13,13,0.15) !important; }
.ik-btn-register:hover { transform: translate(-1px,-1px) !important; }
.ik-link { font-size: 12px !important; color: var(--ik-ink) !important; cursor: pointer !important; text-align: center !important; text-decoration: underline !important; font-style: italic !important; }
.ik-terms { font-size: 11px !important; color: var(--ik-muted) !important; text-align: center !important; font-style: italic !important; }
.ik-recaptcha { display: flex !important; justify-content: center !important; }
.ik-bridge { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 10px !important; padding: 20px !important; border-radius: var(--ik-radius) !important; border: 1px solid var(--ik-border) !important; background: var(--ik-paper2) !important; text-align: center !important; }
.ik-bridge i { font-size: 24px !important; color: var(--ik-ink) !important; }
.ik-bridge p { font-size: 13px !important; color: var(--ik-muted) !important; font-style: italic !important; }

/* ── Bottom ── */
.ik-bottom { margin-top: 40px !important; padding-top: 24px !important; border-top: 2px solid var(--ik-ink) !important; }
.ik-bottom-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 40px !important; margin-top: 20px !important; }
.ik-zone-head {
	font-family: 'Playfair Display SC', serif !important;
	font-size: 11px !important; letter-spacing: 2px !important;
	color: var(--ik-muted) !important; margin-bottom: 16px !important;
	display: flex !important; align-items: center !important; gap: 8px !important;
}
.ik-active-list { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.ik-active-list .active_item { display: inline-block !important; }
.ik-active-list .active_item img,
.ik-active-list .active_avatar {
	width: 70px !important; height: 70px !important;
	border-radius: 50% !important;
	border: 2px solid var(--ik-ink) !important;
	object-fit: cover !important; display: block !important;
}
.ik-active-list .active_item a { display: block !important; line-height: 0 !important; }
.ik-active-list .active_item span,
.ik-active-list .active_item p,
.ik-active-list .active_item b,
.ik-active-list .active_item strong,
.ik-active-list .active_item .active_name { display: none !important; }

/* ── Radio ── */
.ik-radio { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.ik-radio-head {
	display: flex !important; align-items: center !important; gap: 12px !important;
	padding: 14px !important; border-radius: var(--ik-radius) !important;
	background: var(--ik-paper2) !important; border: 1px solid var(--ik-border) !important;
}
.ik-vinyl {
	width: 46px !important; height: 46px !important; border-radius: 50% !important;
	background: conic-gradient(from 0deg, #111 0deg, #555 60deg, #111 120deg, #888 180deg, #111 240deg, #555 300deg, #111 360deg) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	flex-shrink: 0 !important;
}
.ik-vinyl.spinning { animation: ikVinylSpin 3s linear infinite !important; }
@keyframes ikVinylSpin { to{transform:rotate(360deg)} }
.ik-vinyl-inner { width: 18px !important; height: 18px !important; border-radius: 50% !important; background: var(--ik-paper) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 8px !important; color: var(--ik-ink) !important; }
.ik-radio-meta { flex: 1 !important; }
.ik-radio-meta strong { display: block !important; font-size: 13px !important; font-weight: 700 !important; color: var(--ik-ink) !important; font-family: 'Playfair Display SC', serif !important; }
.ik-radio-meta span { font-size: 11px !important; color: var(--ik-muted) !important; font-style: italic !important; }
.ik-eq { display: flex !important; align-items: flex-end !important; gap: 2px !important; height: 20px !important; }
.ik-eq span { display: block !important; width: 3px !important; border-radius: 1px !important; background: var(--ik-ink) !important; animation: ikEq 0.8s ease-in-out infinite alternate !important; }
.ik-eq span:nth-child(1){height:30%;animation-delay:0s}
.ik-eq span:nth-child(2){height:70%;animation-delay:0.15s}
.ik-eq span:nth-child(3){height:50%;animation-delay:0.3s}
.ik-eq span:nth-child(4){height:85%;animation-delay:0.45s}
@keyframes ikEq { to{height:100%} }
.ik-stations { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.ik-station-btn {
	display: flex !important; align-items: center !important; gap: 6px !important;
	padding: 5px 12px !important; border-radius: 2px !important;
	border: 1px solid var(--ik-border) !important;
	background: transparent !important; color: var(--ik-muted) !important;
	font-size: 11px !important; cursor: pointer !important;
	font-family: 'Source Serif 4', serif !important; font-style: italic !important;
	transition: all 0.2s !important;
}
.ik-station-btn.active, .ik-station-btn:hover { background: var(--ik-ink) !important; color: var(--ik-paper) !important; border-color: transparent !important; }
.ik-radio-ctrl { display: flex !important; justify-content: center !important; gap: 8px !important; }
.ik-ctrl {
	width: 38px !important; height: 38px !important; border-radius: var(--ik-radius) !important;
	border: 1px solid var(--ik-border) !important; background: transparent !important;
	color: var(--ik-muted) !important; font-size: 12px !important; cursor: pointer !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	transition: all 0.2s !important;
}
.ik-ctrl-play { background: var(--ik-ink) !important; border-color: var(--ik-ink) !important; color: var(--ik-paper) !important; box-shadow: 2px 2px 0 rgba(13,13,13,0.25) !important; }
.ik-ctrl:hover { border-color: var(--ik-ink) !important; color: var(--ik-ink) !important; }

/* ── Footer ── */
.ik-footer { margin-top: 40px !important; border-top: 2px solid var(--ik-ink) !important; padding-top: 20px !important; }
.ik-footer-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 14px !important; font-size: 12px !important; color: var(--ik-muted) !important; font-style: italic !important; }
.ik-footer-links { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; }
.ik-footer-links a { display: flex !important; align-items: center !important; gap: 5px !important; font-size: 12px !important; color: var(--ik-muted) !important; text-decoration: none !important; font-style: italic !important; transition: color 0.2s !important; }
.ik-footer-links a:hover { color: var(--ik-ink) !important; text-decoration: underline !important; }

/* ── Cookie ── */
.ik-cookie {
	position: fixed !important; bottom: 20px !important; left: 50% !important;
	transform: translateX(-50%) !important; width: 90% !important; max-width: 600px !important;
	border-radius: var(--ik-radius) !important; border: 1px solid var(--ik-ink) !important;
	background: #fff !important; z-index: 9999 !important;
	box-shadow: 4px 4px 0 var(--ik-ink) !important;
}
.ik-cookie-inner { display: flex !important; align-items: center !important; gap: 14px !important; padding: 16px 20px !important; }
.ik-cookie-inner > i { font-size: 20px !important; color: var(--ik-muted) !important; flex-shrink: 0 !important; }
.ik-cookie-inner .cookie_text { flex: 1 !important; }
.ik-cookie-inner .cookie-title { font-family: 'Playfair Display SC', serif !important; font-size: 13px !important; font-weight: 700 !important; margin-bottom: 3px !important; color: var(--ik-ink) !important; }
.ik-cookie-inner .cookie-desc { font-size: 11px !important; color: var(--ik-muted) !important; font-style: italic !important; }
.ik-btn-cookie { padding: 8px 18px !important; border-radius: var(--ik-radius) !important; border: 1.5px solid var(--ik-ink) !important; background: var(--ik-ink) !important; color: var(--ik-paper) !important; font-size: 12px !important; font-weight: 700 !important; cursor: pointer !important; font-family: 'Source Serif 4', serif !important; flex-shrink: 0 !important; box-shadow: 2px 2px 0 rgba(13,13,13,0.2) !important; }

/* ── Responsive ── */
@media (max-width: 960px) {
	.ik-main { flex-direction: column !important; min-height: auto !important; }
	.ik-left { padding-right: 0 !important; border-right: none !important; border-bottom: 1px solid var(--ik-border) !important; padding-bottom: 32px !important; }
	.ik-right { flex: none !important; width: 100% !important; }
	.ik-bottom-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}
@media (max-width: 600px) {
	.ik-columns { grid-template-columns: 1fr !important; }
	.ik-masthead-title strong { font-size: 20px !important; }
	.ik-shell { padding: 0 16px 40px !important; }
}


/* Chat v11+ form compatibility. Theme-specific input/button classes are retained. */
.boom-v11-box { width: 100%; }
.boom-v11-field { margin-bottom: 14px; }
.boom-v11-box input,
.boom-v11-box select { width: 100%; max-width: 100%; box-sizing: border-box; }
.boom-v11-box button { width: 100%; }
.boom-v11-birth { margin-bottom: 14px; }
.boom-v11-label { margin: 0 0 8px; }
.boom-v11-date { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.boom-v11-recaptcha { margin: 14px 0; }
.boom-v11-terms { margin: 10px 0 0; text-align: center; }
@media (max-width: 420px) {
  .boom-v11-date { gap: 5px; }
}
