/* Match Twenty Twenty type scale (body ~1.8rem) */
.tbo-modern,.tbo-trend,aside.tbo-trend,.tbo-period,.tbo-ott{
	font-size:1.8rem;
	line-height:1.5;
	font-family:inherit;
	color:#000;
}
.tbo-modern *,.tbo-trend *,aside.tbo-trend *,.tbo-period *{
	font-family:inherit;
}

.tbo-modern{background:#fff;color:#000;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:1.5rem 1.75rem;margin:1.5rem 0;box-shadow:none;font-family:inherit;max-width:100%;box-sizing:border-box;overflow-x:auto}
.tbo-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.tbo-head h2,.tbo-period-h{margin:0;font-size:2.8rem;line-height:1.2;letter-spacing:-.02em;font-weight:700;font-family:inherit;color:#000;background:transparent;border-left:4px solid #cd2653;border-radius:0;padding:.4rem 0 .4rem 1rem}
.tbo-head h2::after,.tbo-period-h::after{display:none}
.tbo-period{margin:1.6rem 0 0}
.tbo-period-h{margin:0 0 .85rem}
.tbo-head p{margin:.35rem 0 0;color:#444;font-size:1.6rem;font-family:inherit;line-height:1.4}
/* Shared real-<table> look used by every data table on the front end
   (day-wise, weekly/weekend, summary stats, trend list): zebra striping
   and a highlighted row for "live"/in-progress data, in the same black
   text / white background / red (#cd2653) accent palette as the rest
   of the front end — no separate boxed/shadowed wrapper, since the
   table already sits inside an already-bordered card (.tbo-modern or
   aside.tbo-trend). Real semantic markup throughout (thead/tbody, th
   scope) for SEO. */
.tbo-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;max-width:100%}
.tbo-data-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-family:inherit}
.tbo-data-table th,.tbo-data-table td{word-wrap:break-word;overflow-wrap:anywhere;vertical-align:middle}
.tbo-cell-amount{white-space:nowrap;font-variant-numeric:tabular-nums}
.tbo-data-table thead tr{background:linear-gradient(90deg,#cd2653,#a81f44)}
.tbo-data-table thead th{background:transparent;color:#fff;font-size:1.1rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;padding:1rem 1.2rem 1.05rem;text-align:left}
.tbo-data-table thead th,.tbo-data-table tbody th,.tbo-data-table tbody td{white-space:nowrap}
.tbo-data-table tbody th,.tbo-data-table tbody td{padding:1.1rem 1.2rem;text-align:left;font-size:1.6rem;border-bottom:1px solid rgba(205,38,83,.12);font-family:inherit;font-weight:400;color:#333;vertical-align:middle;transition:background-color .15s ease}
.tbo-data-table tbody th{font-weight:700;color:#000}
.tbo-data-table tbody tr.tbo-row-alt td,.tbo-data-table tbody tr.tbo-row-alt th{background:#fdf2f5}
.tbo-data-table tbody tr.tbo-row-live td,.tbo-data-table tbody tr.tbo-row-live th{background:#f0fdf4}
.tbo-data-table tbody tr:last-child td,.tbo-data-table tbody tr:last-child th{border-bottom:0}
@media(hover:hover){
  .tbo-data-table tbody tr.tbo-main-row:hover td,.tbo-data-table tbody tr.tbo-main-row:hover th,
  .tbo-data-table tbody tr:not(.tbo-main-row):not(.tbo-detail-row):hover td,.tbo-data-table tbody tr:not(.tbo-main-row):not(.tbo-detail-row):hover th{background:#fbe4ea}
}
.tbo-day-cell{font-weight:700;color:#000}
.tbo-cell-amount{font-weight:800;color:#cd2653;font-size:1.75rem}
.tbo-data-table tbody td.tbo-cell-wrap{white-space:normal}
.tbo-change{display:inline-flex;align-items:center;font-weight:700;font-size:1.3rem;padding:.3rem .65rem;border-radius:999px}
.tbo-change.up{color:#0a7a32;background:#eafaf0}
.tbo-change.down{color:#b00020;background:#fdecec}
.tbo-change.flat{color:#666;background:#f2f2f2}
@media(max-width:700px){
  .tbo-data-table thead th{padding:.7rem .8rem .75rem;font-size:.95rem}
  .tbo-data-table tbody th,.tbo-data-table tbody td{padding:.75rem .8rem;font-size:1.35rem}
  .tbo-cell-amount{font-size:1.5rem}
}

/* Day-wise only: compact Day + Gross with a "+" toggle that reveals a
   detail panel (date, net, change, theatres/shows/tickets/occupancy,
   top location). The detail row is a real <tr> already in the page
   source (just [hidden]), so the data stays crawlable when collapsed. */
.tbo-day-table tbody tr.tbo-main-row:last-of-type td,.tbo-day-table tbody tr.tbo-main-row:last-of-type th{border-bottom:0}
.tbo-day-table tbody tr.tbo-detail-row:last-child td{border-bottom:0}
.tbo-day-table thead th.tbo-col-toggle{width:44px;text-align:center;padding-left:0;padding-right:0}
.tbo-toggle{appearance:none;border:1px solid rgba(205,38,83,.35);background:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#cd2653;margin:0 auto;flex:0 0 auto;transition:background-color .15s ease,border-color .15s ease}
.tbo-toggle:hover{background:#fdf2f5;border-color:#cd2653}
.tbo-toggle-icon{display:block;font-size:18px;line-height:1;font-weight:600;transition:transform .18s ease}
.tbo-toggle[aria-expanded="true"] .tbo-toggle-icon{transform:rotate(45deg)}
.tbo-data-table tbody tr.tbo-detail-row td{padding:0;white-space:normal}
.tbo-detail-row[hidden]{display:none}
.tbo-detail-inner{padding:.9rem 1.15rem 1.15rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem 1.25rem;background:inherit;min-width:0}
.tbo-detail-item{min-width:0}
.tbo-detail-item dt{font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em;color:#888;font-weight:700;margin:0 0 .2rem}
.tbo-detail-item dd{font-size:1.5rem;color:#000;font-weight:600;margin:0}
@media(max-width:700px){
  .tbo-day-table thead th.tbo-col-toggle{width:38px}
  .tbo-detail-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem .9rem 1rem;gap:.6rem 1rem}
  .tbo-toggle{width:26px;height:26px}
}
.tbo-modern .screen-reader-text,.tbo-trend .screen-reader-text,aside .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.tbo-pill-live{display:inline-block;background:#0a7a32;color:#fff;font-size:1.2rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;letter-spacing:.03em}
.tbo-source{margin-top:.5rem;font-size:1.3rem;color:#666}
.tbo-updated,.tbo-empty{font-size:1.5rem;color:#333;margin:1rem 0 0}
@media(max-width:700px){
  .tbo-modern{padding:1.1rem 1.2rem;border-radius:4px}
  .tbo-head h2,.tbo-period-h{font-size:2.2rem}
}


/* —— 2.5.7 live pulse + countdown + foot —— */
.tbo-live-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ef4444;
	box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
	animation: tbo-pulse 1.4s ease-out infinite;
}
.tbo-live-dot-sm {
	width: 7px;
	height: 7px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 4px;
}
@keyframes tbo-pulse {
	0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.65); }
	70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
	100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}
.tbo-pill-live {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	font-size: 11px;
	font-weight: 600;
	color: #b91c1c;
	background: #fef2f2;
	border-radius: 999px;
	padding: 2px 8px;
}
.tbo-countdown {
	background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
	color: #e5e7eb;
	border-radius: 14px;
	padding: 20px 18px;
	text-align: center;
	margin: 8px 0 4px;
}
.tbo-countdown-label {
	font-size: 13px;
	opacity: 0.85;
	margin-bottom: 12px;
}
.tbo-countdown-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	max-width: 420px;
	margin: 0 auto;
}
.tbo-countdown-grid div {
	background: rgba(255,255,255,0.06);
	border-radius: 10px;
	padding: 10px 6px;
}
.tbo-countdown-grid b {
	display: block;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
}
.tbo-countdown-grid span {
	font-size: 11px;
	opacity: 0.7;
}
.tbo-countdown-note {
	margin: 12px 0 0;
	font-size: 13px;
	opacity: 0.8;
}
.tbo-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid rgba(0,0,0,0.06);
	font-size: 1.45rem;
	color: #444;
}
.tbo-updated{font-size:1.45rem;color:#444}
.tbo-auto-note {
	font-style: italic;
	opacity: 0.9;
}

.tbo-verdict-box{margin:1.25rem 0 0;padding:1rem 1.15rem;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#faf8f5}
.tbo-verdict-title{margin:0;font-size:2rem;font-weight:700;color:#000}
.tbo-verdict-note{margin:.4rem 0 0;font-size:1.5rem;color:#444;line-height:1.45}
.tbo-verdict-pending{border-left:4px solid #cd2653}
.tbo-verdict-verdict{border-left:4px solid #2d6a4f}
.tbo-budget-note{margin:.85rem 0 0;font-size:.92rem;line-height:1.45}

/* Modern budget panel */
.tbo-budget-panel{margin:1.35rem 0 0}
.tbo-budget-panel-inner{
	display:flex;gap:14px;align-items:flex-start;
	padding:1.1rem 1.25rem;border-radius:16px;
	background:linear-gradient(135deg,#fffdf8 0%,#f7f0e0 48%,#f3e6c8 100%);
	border:1px solid #e8d6a8;
	box-shadow:0 6px 18px rgba(120,90,20,.06);
}
.tbo-budget-icon{
	flex:0 0 44px;width:44px;height:44px;border-radius:12px;
	display:flex;align-items:center;justify-content:center;
	font-weight:800;font-size:1.15rem;color:#8a6a00;
	background:rgba(255,255,255,.85);border:1px solid #e5d4a3;
}
.tbo-budget-label{font-size:1.5rem;font-weight:700;color:#000}
.tbo-budget-value{font-size:2.4rem;font-weight:700;line-height:1.2;color:#000}
.tbo-budget-value.tbo-budget-muted{font-size:1.05rem;font-weight:700;color:#6b5c3a}
.tbo-budget-hint{font-size:1.4rem;color:#444;margin:.4rem 0 0;line-height:1.45}
.tbo-budget-body{min-width:0;flex:1}

/* Latest Updates: plain theme text only (no box/border) */


/* Day-wise disclaimer */
.tbo-disclaimer{
	margin:1rem 0 0;
	padding:1.1rem 1.2rem;
	border-radius:12px;
	border:1px solid rgba(0,0,0,.07);
	background:linear-gradient(180deg,#fafaf9 0%,#f5f5f4 100%);
}
.tbo-disclaimer-title{margin:0;font-size:1.75rem;font-weight:700}
.tbo-disclaimer-text{margin:.45rem 0 0;font-size:1.65rem;line-height:1.55;color:#333}

/* Currency note in summary footer (near Updated) */
.tbo-currency-note{font-size:1.45rem;color:#444;margin:0!important;line-height:1.4}

@media (max-width:900px){
.tbo-head h2,.tbo-period-h{font-size:2.4rem}

}
@media (max-width:640px){
.tbo-head h2,.tbo-period-h{font-size:2.2rem;line-height:1.25}

}
.tbo-ott{
	margin:1rem 0 0;
}
.tbo-ott-card{
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:1.15rem 1.2rem 1.2rem;
	border-radius:14px;
	border:1px solid rgba(0,0,0,.12);
	background:linear-gradient(180deg,#ffffff,#fff);
}
.tbo-ott-empty .tbo-ott-card{
	background:linear-gradient(180deg,#ffffff,#fff);
}
.tbo-ott-icon{
	flex:0 0 40px;
	width:40px;
	height:40px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#cd2653;
	color:#000000;
	margin-top:2px;
}
.tbo-ott-body{flex:1;min-width:0;}
.tbo-ott-h{margin:0 0 .75rem;font-size:2.1rem;font-weight:700;color:#000}
.tbo-ott-line{font-size:1.65rem;font-weight:500;color:#333;margin:0;line-height:1.55}
.tbo-ott-empty .tbo-ott-line{font-size:1.65rem;font-weight:500;color:#333;line-height:1.55}
.tbo-ott-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-top:.85rem;
	background:#cd2653;
	color:#000000 !important;
	text-decoration:none !important;
	font-weight:800;
	font-size:13px;
	letter-spacing:.02em;
	padding:.58rem 1.15rem;
	border-radius:8px;
	border:1px solid #e8d08a;
	box-shadow:none;
}
.tbo-ott-btn:hover{
	background:#cd2653;
	color:#fff !important;
	border-color:#cd2653;
}

/* Box Office Trend — bar chart */
.tbo-trend{
	margin:2rem 0 0;
	padding:1.05rem 1rem .9rem;
	border-radius:14px;
	border:1px solid rgba(0,0,0,.08);
	background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
	box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.tbo-trend-head{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:6px 12px;
	margin-bottom:.65rem;
}
.tbo-trend-title{
	margin:0;
	font-family:inherit;
	font-size:1rem;
	font-weight:700;
	color:#0f172a;
	letter-spacing:-.01em;
}
.tbo-trend-sub{
	font-size:.78rem;
	color:#64748b;
	font-weight:500;
}
.tbo-trend-wrap{
	position:relative;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
	padding-bottom:4px;
}
.tbo-trend-svg{
	display:block;
	height:auto;
	max-height:300px;
	/* width set inline so bars never shrink below ~44px/day */
}
.tbo-trend-vlabel{
	font-size:9px;
	font-weight:700;
	fill:#334155;
}
.tbo-trend-chart{
	margin-top:2rem;
}
.tbo-trend-grid{
	stroke:rgba(15,23,42,.06);
	stroke-width:1;
}
.tbo-trend-bar{
	transition:opacity .15s ease, filter .15s ease;
	cursor:pointer;
}
.tbo-trend-bar-g:hover .tbo-trend-bar,
.tbo-trend-bar-g.is-active .tbo-trend-bar{
	filter:brightness(1.08);
	opacity:1;
}
.tbo-trend-wrap:hover .tbo-trend-bar{
	opacity:.55;
}
.tbo-trend-wrap:hover .tbo-trend-bar-g:hover .tbo-trend-bar,
.tbo-trend-wrap:hover .tbo-trend-bar-g.is-active .tbo-trend-bar{
	opacity:1;
}
.tbo-trend-ylabel,
.tbo-trend-xlabel{
	font-size:11px;
	fill:#64748b;
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tbo-trend-xlabel{
	font-weight:600;
}
.tbo-trend-tooltip{
	position:absolute;
	z-index:5;
	pointer-events:none;
	padding:.4rem .65rem;
	border-radius:8px;
	background:#0f172a;
	color:#f8fafc;
	font-size:.8rem;
	font-weight:600;
	line-height:1.3;
	box-shadow:0 8px 20px rgba(15,23,42,.25);
	white-space:nowrap;
	transform:translate(-50%,-120%);
}
.tbo-trend-tooltip[hidden]{display:none !important;}
.tbo-trend-actions{margin-top:.7rem}
.tbo-trend-download{appearance:none;border:0;background:#000000;color:#fff;font-size:13px;font-weight:700;letter-spacing:.01em;padding:8px 14px;border-radius:999px;cursor:pointer}
.tbo-trend-download:hover{background:#333}
@media (max-width:600px){
	.tbo-trend{padding:.85rem .7rem .75rem;}
	.tbo-trend-title{font-size:.95rem;}
	.tbo-trend-ylabel,
	.tbo-trend-xlabel{font-size:10px;}
	.tbo-trend-wrap{
		margin:0 -.25rem;
		padding-left:2px;
		padding-right:2px;
	}
}

/* Sidebar trend list — do not override the page chart */
aside.tbo-trend{background:#fffdf8;border:1px solid #e6d7a8;border-radius:16px;padding:16px 16px 10px;margin:0 0 1.2rem}
.tbo-trend-h{margin:0;font-size:2.1rem;line-height:1.25;color:#000;font-weight:700;font-family:inherit}
aside.tbo-trend .tbo-trend-sub{margin:.35rem 0 .75rem;font-size:1.4rem;color:#444}
.tbo-trend-name{display:block;font-weight:650;color:#000;text-decoration:none;line-height:1.3;font-size:1.6rem;white-space:normal}
.tbo-trend-name:hover{color:#cd2653}
.tbo-modern a,.tbo-trend a{color:#cd2653}
.tbo-modern a:hover,.tbo-trend a:hover{color:#000}
.tbo-trend-date{display:block;font-size:1.3rem;color:#666;margin-top:.2rem;white-space:normal}
.tbo-trend-empty{font-size:1.5rem;color:#444;margin:0 0 .5rem}


/* Tighten inject / theme spacing */
.entry-content .tbo-modern + .tbo-modern{margin-top:1.15rem}
.entry-content p:empty{display:none}
.entry-content > p:has(+ .tbo-modern){margin-bottom:.5rem}
.tbo-modern p{margin:.35rem 0 0}
.tbo-modern .tbo-head p{margin:.35rem 0 0}
.tbo-modern .tbo-foot{margin-bottom:0}


/* OTT not announced yet — plain paragraph (no card) */
.tbo-ott-pending{
	margin:1rem 0 0;
	font-size:1.65rem;
	line-height:1.55;
	color:#333;
}
