
/*
 * CSS for the Frontend of Tbook Guestbook plugin.
 */


.tbook-gb {
	clear: left;
	position: relative;
}

.tbook-gb .tbook-gb-hide {
	display: none;
}
.tbook-gb .tbook-gb-invisible {
	visibility: hidden;
}

/* Write button */

.tbook-gb-write-button {
	margin: 26px 0 16px;
	overflow: hidden;
	text-align: right;
}
html body div.tbook-gb div.tbook-gb-write-button input[type="button"].button {
	float: none;
	padding: 13px 28px;
	border: 0;
	border-radius: 10px;
	background-color: #2271b1;
	background-image: none;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-shadow: none;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(34, 113, 177, 0.28);
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
html body div.tbook-gb div.tbook-gb-write-button input[type="button"].button:hover {
	background-color: #135e96;
	background-image: none;
	box-shadow: 0 4px 12px rgba(34, 113, 177, 0.36);
}
html body div.tbook-gb div.tbook-gb-write-button input[type="button"].button:active {
	transform: translateY(1px);
}

/* Write section */

.tbook-gb form.tbook-gb-write {
	position: relative;
	margin-top: 20px;
	text-align: left;
	overflow: hidden;
}

.tbook-gb-float .label,
.tbook-gb-float .input {
	float: left;
}

div.tbook-gb-write #loginform input {
	display: block;
}

/* Text meant only for screen readers in broken themes. */
.tbook-gb .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 !important;
  width: 1px;
  word-wrap: normal !important;
}

/* Overwrite shizzle from fancy themes */
body .tbook_content a,
body .tbook-gb-content a {
	box-shadow: none !important; /* Fuck Twenty Fifteen, Twenty Sixteen and Twenty Seventeen */
	border: 0;
}

/* Submit AJAX icon */
.tbook-gb .tbook_submit_ajax_icon,
.tbook-gb .tbook-gb-submit-ajax-icon,
.tbook-gb .tbook_addon_preview_ajax_icon,
.tbook-gb .tbook-gb-addon-preview-ajax-icon {
	display: none;
	background-image: url("../images/loading.gif");
	background-position: 4px 4px;
	background-repeat: no-repeat;
	margin-left: 10px;
	padding: 13px 20px 13px 20px;
}

/* Messages / Notices */

.tbook-gb .tbook_messages,
.tbook-gb .tbook-gb-messages {
	border-left: 4px solid #7ad03a;
	box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.1);
	padding: 1px 12px;
	margin: 5px 0 15px;
}
.tbook-gb .tbook_messages.error,
.tbook-gb .tbook-gb-messages.error {
	border-left: 4px solid #dd3d36;
}

.tbook-gb .error p, div.updated p {
	margin: 0.5em 0;
	padding: 2px;
}

.tbook-gb form.tbook-gb-write div.input.error,
.tbook-gb form.tbook-gb-write input.error,
.tbook-gb form.tbook-gb-write textarea.error {
	border: 1px solid #dd3d36;
}
.tbook-gb form.tbook-gb-write input[type="checkbox"].error {
	box-shadow: 1px 1px 0px 0px rgba(221,61,54,1);
}

.tbook-gb div.label,
.tbook-gb div.input {
	vertical-align: top;
	width: 100%;
}
.tbook-gb .tbook-gb-float div.label {
	width: 35%;
}
.tbook-gb .tbook-gb-float div.input {
	width: 50%;
	border: 0px;
}

.tbook-gb div.input input[type="text"],
.tbook-gb div.input input[type="email"],
.tbook-gb div.input input[type="url"],
.tbook-gb div.input textarea,
.tbook-gb div.input select {
	width: 99%;
}
.tbook-gb div.input textarea {
	height: 375px;
}
.tbook-gb .clearBoth {
	clear: both;
}


/* Submit action row */

.tbook-gb form.tbook-gb-write .tbook_submit {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid #e5e7eb;
}
.tbook-gb form.tbook-gb-write .tbook_submit .input {
	text-align: right;
}
.tbook-gb form.tbook-gb-write .tbook_submit .input input[type="submit"],
.tbook-gb form.tbook-gb-write .tbook_submit .input input[type="button"] {
	display: inline-block;
	margin: 4px 0 4px 8px;
}
.tbook-gb form.tbook-gb-write .tbook_submit input[type="submit"].tbook_submit {
	padding: 12px 30px;
	border: 0;
	border-radius: 10px;
	background-color: #2271b1;
	background-image: none;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-shadow: none;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(34, 113, 177, 0.28);
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.tbook-gb form.tbook-gb-write .tbook_submit input[type="submit"].tbook_submit:hover {
	background-color: #135e96;
	background-image: none;
	box-shadow: 0 4px 12px rgba(34, 113, 177, 0.36);
}
.tbook-gb form.tbook-gb-write .tbook_submit input[type="submit"].tbook_submit:active {
	transform: translateY(1px);
}
.tbook-gb form.tbook-gb-write .tbook_submit input[type="button"].tbook_preview {
	padding: 12px 22px;
	border: 1px solid #c9ccd1;
	border-radius: 10px;
	background-color: #ffffff;
	background-image: none;
	color: #333333;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.tbook-gb form.tbook-gb-write .tbook_submit input[type="button"].tbook_preview:hover {
	background-color: #f1f2f4;
	border-color: #b5b9bf;
}


/* Form notice */

.tbook-gb form.tbook-gb-write .tbook_notice {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed #d9dde2;
	font-size: 12px;
	line-height: 1.5;
	color: #666666;
}


/* Page Navigation
 *
 * Moved to frontend/css/gb-pagination.css in 5.0.84, which carries the five
 * selectable styles plus a "classic" fallback that reproduces the old look.
 * That file is enqueued separately so the styles can be cached independently
 * and so this file does not grow with every design tweak. */


/* Read section */

.tbook-gb .tbook-gb-read {
	position: relative;
}

.tbook-gb .admin-entry {
	color: #333;
	background-color: #e6e6e6;
	background-repeat: repeat-x;
	background-image: -moz-linear-gradient(top, #f4f4f4, #e6e6e6);
	background-image: -ms-linear-gradient(top, #f4f4f4, #e6e6e6);
	background-image: -webkit-linear-gradient(top, #f4f4f4, #e6e6e6);
	background-image: -o-linear-gradient(top, #f4f4f4, #e6e6e6);
	background-image: linear-gradient(top, #f4f4f4, #e6e6e6);
	padding-left: 5px;
}
.tbook-gb .admin-entry a {
	color: #666;
}
.tbook-gb .gb-entry {
	position: relative;
	width: 100%;
	border-top: 1px #ddd solid;
	padding: 10px 0;
	margin: 0;
	clear: left;
}
.tbook-gb .tbook-gb-first {
	border-width: 0px;
}
.tbook-gb .gb-entry-count_0 {
	border-bottom: 1px #ddd solid; /* Ajax added entry */
}

.tbook-gb .gb-entry .gb-author-info,
.tbook-gb .gb-entry .gb-entry-content {
	display: block;
}
.tbook-gb .gb-entry .gb-author-info .gb-author-avatar {
	margin: 0 0 8px 0;
}
.tbook-gb .gb-entry .gb-author-info .gb-author-name {
	padding-left: 10px;
	font-weight: bold;
}
.tbook-gb .gb-entry .gb-author-info .gb-datetime {
	display: block;
	padding-left: 10px;
}
.tbook-gb .gb-entry .gb-author-hr {
	border: 0;
	border-top: 1px solid #ddd;
	margin: 8px 0;
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-hr {
	margin: 8px 0;
}
/* Relative timestamp: tap to reveal the exact date/time. */
.tbook-gb .gb-relative-time { cursor: pointer; }
.tbook-gb .gb-relative-time .gb-date-text { border-bottom: 1px dotted currentColor; }
.tbook-gb .gb-relative-time.is-flat .gb-date-text { border-bottom: 0; }

/* Two-column author row (website only — not the installed app): the avatar sits
   in its own column (with a left margin so its ring stays inside the card), and
   the name + timestamp flow in a row beside it (wrapping to a new line when they
   need room), vertically centred — like the app. */
/* Per-parity header shades. Intentionally transparent by default — colours are
   set through the Customizer (yellow pencil), not hard-coded here. The
   --even / --uneven modifier classes are available to target either parity. */
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-entry-head {
	--tbook-head-shade: transparent;
	background: var(--tbook-head-shade);
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-info {
	display: flex;
	align-items: center;
	gap: 21px;
	padding: 4px 4px 0 0;
	/* The gap below the author row is now the divider's own top margin (8px),
	   which lives in .gb-entry-content. Keeping a margin here too would stack
	   the two (17px + 8px = 26px) and push the rule too far down. */
	margin-bottom: 0;
	/* Plugin default for the header text: 15px (name, origin and timestamp all
	   inherit from here). Overridable through the Customizer — see the note
	   below on why this is not left entirely to the theme. */
	font-size: 15px;
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-avatar {
	flex: 0 0 auto;
	margin: 0 0 0 -1px;
	line-height: 0;
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-avatar .tbook-ring__inner img,
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-avatar img,
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-avatar .tbook-avatar {
	width: 51px;
	height: 51px;
	border-radius: 50%;
	display: block;
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px 12px;
	min-width: 0;
}
/* Header typography: the size comes from the plugin default on .gb-author-info
   above (15px); the family and colour stay with the Customizer / theme. */
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-name,
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-author-origin,
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-datetime-row,
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-datetime {
	margin: 0;
	padding-left: 0;
	text-align: left;
	line-height: 1.25;
}
/* Header block (website only): .gb-entry-head wraps the author info + divider.
   The entry has a 2px border and 10px top/right padding, which inset the head by
   2px (top/left) and 12px (right). Cancel those insets with negative margins and
   give the same values back as padding, so the head box sits flush with the entry
   edges on top + right while every bit of inner content stays exactly where it is. */
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-entry-head {
	/* The entry has a 2px border + 10px top/right padding, so the head naturally
	   starts 10px below the border's inner edge. -9.6px pulls that back by 9.6,
	   leaving a 0.4px seam: the head's edge stops just INSIDE the border, so a
	   background colour on the head never paints over the border itself, yet the
	   two read as one unbroken surface (0.4px is half a device pixel at 2x). The
	   right side mirrors this against the entry's 10px right padding. */
	margin-top: -9.6px;
	margin-right: -9.6px;
	/* The author avatar's notification ring paints OUTSIDE its box (the ring's
	   ::before sits at inset: -var(--tb-ring-outer), ~19.5% of the 51px avatar
	   ~= 10px on every side), and the Flash style adds a soft glow that spreads
	   further still (box-shadow 0 0 26px 11px). At padding-top 9px the ring sat
	   right against the entry's top border with no visible white between them.

	   The ring's own ~10px bleed subtracts identically from both sides, so the
	   distance from the ring to the top border and the distance from the ring to
	   the divider are equal exactly when padding-top equals padding-bottom. Both
	   are 8px here => the ring sits close to the top border AND to the divider,
	   still symmetric (~3px clear on the largest ring).

	   NB this trades perfect vertical centring of the author row for that
	   symmetry: the row now sits higher than centre, which is the intent. */
	padding-top: 8px;
	padding-right: 12px;
	padding-bottom: 8px;
}
.tbook-gb .gb-entry .gb-entry-content {
	padding-left: 10px;
	/* A new line should be a normal thin line, not a paragraph-sized gap. */
	line-height: 1.4;
}
/* Flush the content block with the entry's right + bottom edges: cancel the
   entry's 2px border + 10px right padding (12px) and the bottom padding with
   negative margins, then give the same values back as padding so the box reaches
   the edges while the inner text stays exactly put. The negative margins leave a
   0.2px seam inside the border (see the rule below) rather than sitting on it. */
/* The entry's bottom padding varies between entries (13px plain, 10px on entries
   with a gallery), so instead of guessing it, drop it entirely and let
   .gb-entry-content sit flush against the entry's bottom border. */
body:not(.tbook-standalone) .tbook-gb .gb-entry {
	padding-bottom: 0;
}
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-entry-content {
	/* Same 0.4px seam as the head: -9.6px on the right stops the content's edge
	   just inside the border instead of on top of it, and the 0.4px bottom margin
	   leaves a matching hairline above the card's bottom border. A background on
	   the content can then never paint over the border. */
	margin-right: -9.6px;
	margin-bottom: 0.4px;
	padding-right: 12px;
	/* The divider is the first thing in the content and carries its own 8px top
	   margin. The content starts flush at the top of its box; the head above has
	   no bottom padding, so without a hair here the divider's top margin would
	   collapse out through .gb-entry-content and lift the whole content box. */
	padding-top: 1px;
	/* 7px of breathing room between the last inner element (text / image / video)
	   and the content box's bottom edge. */
	padding-bottom: 7px;
}
/* The divider lives at the top of .gb-entry-content (moved there from
   .gb-entry-head). Its margins sit reversed from the old header rule: 3px above
   the line (between the header and the rule) and 7px below it (before the first
   line of content). */
body:not(.tbook-standalone) .tbook-gb .gb-entry .gb-entry-content .gb-author-hr {
	margin: 3px 0 7px;
}
.tbook-gb .gb-entry .gb-entry-content img {
	max-width: 100%;
	max-height: 700px;
	display: inline-block;
	height: auto;
}
.tbook-gb .gb-entry .gb-entry-content hr.tbook-hr {
	border: 0;
	border-top: 2px solid #d5dde5;
	margin: 14px 0;
	height: 0;
}
.tbook-align-center {
	text-align: center;
}
.tbook-align-rtl {
	direction: rtl;
	text-align: right;
}

/* Video and audio players */

video.tbook-video {
	max-width: 100%;
	width: 640px;
	aspect-ratio: 16 / 9;
	background-color: #1a1a2e;
	border-radius: 4px;
	display: block;
	cursor: pointer;
}
audio.tbook-audio {
	max-width: 100%;
	width: 100%;
	display: block;
}

/* Video hover preview overlay */

.tbook-video-wrap {
	position: relative;
	display: block;
	width: 640px;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #1a1a2e;
	background-size: cover;
	background-position: center;
	border-radius: 4px;
}
.tbook-video-wrap video.tbook-video {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	z-index: 2;
}
.tbook-video-wrap .tbook-video-preview-overlay {
	display: none;
	position: absolute;
	top: 8px;
	left: 8px;
	right: 8px;
	bottom: 65px;
	z-index: 3;
	pointer-events: none;
	border-radius: 4px;
	overflow: hidden;
}
.tbook-video-wrap .tbook-video-preview-overlay video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tbook-gb .gb-entry .gb-highlight {
	background-color: #ddff00;
}
.gb-entry-full-content {
	overflow: hidden
}

/* Metabox */

button.gb-metabox-handle {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid var(--td-line, #e2e8f0);
	border-radius: 50%;
	background: var(--td-card, #fff);
	box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
	color: var(--td-muted, #64748b);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
button.gb-metabox-handle:hover,
button.gb-metabox-handle:focus-visible,
button.gb-metabox-handle[aria-expanded="true"] {
	background: var(--td-soft, #f1f5f9);
	color: var(--td-ink, #0f172a);
	outline: none;
}
.gb-metabox-chevron {
	display: block;
	transition: transform .18s ease;
}
button.gb-metabox-handle[aria-expanded="true"] .gb-metabox-chevron {
	transform: rotate(180deg);
}

div.gb-metabox {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 8px;
	right: 42px;
	width: min(230px, calc(100vw - 24px));
	box-sizing: border-box;
	z-index: 30;
	padding: 6px;
	border: 1px solid var(--td-line, #e2e8f0);
	border-radius: 12px;
	background: var(--td-card, #fff);
	box-shadow: 0 16px 40px rgba(15, 23, 42, .16), 0 2px 8px rgba(15, 23, 42, .08);
	transform: translateY(-4px) scale(.98);
	transform-origin: top right;
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
button.gb-metabox-handle[aria-expanded="true"] + div.gb-metabox {
	transform: translateY(0) scale(1);
}
.tbook-gb .gb-entry-count_1 div.gb-metabox {
	border-top: 1px solid var(--td-line, #e2e8f0);
}
div.gb-metabox-line {
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--td-ink, #0f172a);
	box-sizing: border-box;
	clear: both;
}
div.gb-metabox-line + div.gb-metabox-line {
	margin-top: 3px;
	padding-top: 3px;
	border-top: 1px solid var(--td-line, #e2e8f0);
}
div.gb-metabox-line a {
	display: flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 9px;
	border-radius: 7px;
	text-decoration: none;
	box-shadow: none;
	color: var(--td-ink, #0f172a);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	transition: background-color .15s ease, color .15s ease;
}
div.gb-metabox-line a:hover,
div.gb-metabox-line a:focus-visible {
	background: var(--td-soft, #f1f5f9);
	color: var(--td-ink, #0f172a);
	outline: none;
}

div.gb-metabox-line.gb-metabox-line-delete a {
	color: var(--td-danger, #b91c1c);
}
div.gb-metabox-line.gb-metabox-line-ajax {
	display: none;
	background-image: url("../images/loading.gif");
	background-position: 155px 8px;
	background-repeat: no-repeat;
	min-height: 34px;
}
div.gb-metabox-line.gb-social-media-share {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 6px 9px;
}
div.gb-metabox-line.gb-social-media-share a {
	float: none;
	min-height: 0;
	padding: 0;
	border-radius: 5px;
	opacity: .78;
}
div.gb-metabox-line.gb-social-media-share a:hover {
	opacity: 1;
	background: transparent;
}
div.gb-metabox-line.gb-social-media-share img {
	float: none;
	display: block;
	width: 18px;
	height: 18px;
}





/* Infinite Scroll */

.tbook-gb .tbook_load_message,
.tbook-gb .tbook-gb-load-message {
	display: none;
	background-color: #eee;
	background-image: url("../images/loading.gif");
	background-position: 10px 13px;
	background-repeat: no-repeat;
	border: 1px solid #333;
	border-radius: 5px;
	bottom: -72px;
	color: #333;
	font-weight: bold;
	margin-left: 10px;
	padding: 15px 20px 15px 52px;
	position: absolute;
	z-index: 5;
}
.tbook-gb .tbook_end_message,
.tbook-gb .tbook-gb-end-message {
	padding-left: 10px;
}


/* Widget */

li.tbook_widget,
li.tbook-gb-widget {
	border-bottom: 1px #ddd solid;
	padding: 3px 0;
	margin: 0;
}

p.tbook_link,
p.tbook-gb-link {
	padding: 3px 0;
}


/* Widget Slider */

ul.tbook_widget_slider,
ul.tbook-gb-widget-slider {
	margin-left: 0;
}
ul.tbook_widget_slider .sss,
ul.tbook-gb-widget-slider .sss {
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
	overflow: hidden;
}

ul.tbook_widget_slider li:first-child,
ul.tbook-gb-widget-slider li:first-child,
li.tbook_widget.ssslide:first-child,
li.tbook-gb-widget.ssslide:first-child {
	display: inline-block;
}
ul.tbook_widget_slider li,
ul.tbook-gb-widget-slider li {
	display: none;
	border-bottom: 0px solid #ddd;
}

li.tbook_widget.ssslide,
li.tbook-gb-widget.ssslide {
	width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	overflow: hidden;
}

/* Admin Bar */

#wpadminbar #wp-admin-bar-tbook-gb .ab-icon::before {
	content: "";
	top: 3px;
}


/* Form inside a widget */
.widget .tbook-gb-float div.label,
.widget .tbook-gb-float div.input,
.widget-area .tbook-gb-float div.label,
.widget-area .tbook-gb-float div.input {
	float: none;
}
.widget .tbook-gb div.label,
.widget-area .tbook-gb div.label {
	width: 100%;
}
.widget .tbook-gb div.input,
.widget-area .tbook-gb div.input {
	width: 100%;
}


/* Responsive Design */

@media only screen and (max-width: 820px) {
	.tbook-gb-float div.label,
	.tbook-gb-float div.input {
		float: none;
	}
	.tbook-gb .tbook-gb-float div.label,
	.tbook-gb .tbook-gb-float div.input,
	.tbook-gb div.label,
	.tbook-gb div.input {
		width: 80%;
	}
}
@media only screen and (max-width: 620px) {
	.tbook-gb-float div.label,
	.tbook-gb-float div.input {
		float: none;
	}
	.tbook-gb .tbook-gb-float div.label,
	.tbook-gb .tbook-gb-float div.input,
	.tbook-gb div.label,
	.tbook-gb div.input {
		width: 100%;
	}
}


/* Add-On */

div.gb-social-media-share img {
	float: left;
	cursor: pointer;
}


/* Print Style */

@media print {

	.tbook-gb .tbook-gb-write-button,
	.tbook-gb .tbook-gb-hide,
	.tbook-gb .tbook-gb-invisible,
	.tbook-gb .tbook-gb-write,
	.tbook-gb .page-navigation,
	.tbook-gb .gb-metabox-handle,
	.tbook-gb .gb-metabox {
		display: none;
	}

}

/* An empty centred block (a blank line the author typed) must occupy a line
 * instead of collapsing to zero height. */
.tbook-gb .gb-entry-content .tbook-align-center:empty::before,
.tbook-gb .gb-entry-content .tbook-align-center > br:only-child::before {
	content: "\00a0";
}

/* Entry corner: the archiving countdown and the sticky marker sit together in
 * the top right, positioned out of the normal flow so the entry head keeps its
 * exact measured size. */
.tbook-gb .tbook-entry-corner {
	position: absolute;
	top: 10px;
	/* Keep clear of the per-entry control that already sits in the top right. */
	right: 38px;
	display: flex;
	align-items: center;
	gap: 8px;
	/* Decoration only: never swallow a click meant for the entry. */
	pointer-events: none;
	z-index: 2;
}
.tbook-gb .tbook-sticky-badge {
	display: block;
	line-height: 0;
	color: #b45309;
}
.tbook-gb .tbook-sticky-badge img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
}
.tbook-gb .tbook-sticky-badge svg {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.75;
}
.tbook-gb .tbook-archive-timer {
	display: inline-block;
	font-size: 11px;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #000;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Author names open the same profile modal as the avatar. */
.tbook-gb .gb-entry .gb-author-name a.tbook-author-profile-link {
	color: inherit !important;
	text-decoration: none !important;
	border-bottom: 1px dotted currentColor !important;
	cursor: pointer;
}
.tbook-gb .gb-entry .gb-author-name a.tbook-author-profile-link:hover,
.tbook-gb .gb-entry .gb-author-name a.tbook-author-profile-link:focus-visible {
	color: inherit;
	border-bottom-style: solid;
}

/* Author profile links also appear in the deck slider, outside .tbook-gb. */
.gb-author-name a.tbook-author-profile-link {
	color: inherit !important;
	text-decoration: none !important;
	border-bottom: 1px dotted currentColor !important;
	cursor: pointer;
}
.gb-author-name a.tbook-author-profile-link:hover,
.gb-author-name a.tbook-author-profile-link:focus-visible {
	color: inherit !important;
	border-bottom-style: solid !important;
}
