/* ============================================================
   Gospel of John – Random Quotes  |  style.css
   Styled to match: warm off-white site, DM Sans, dark brown tones
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

/* ----------  Widget shell  ---------- */
#gojq-widget {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 99999;
	width: 272px;
	font-family: 'DM Sans', sans-serif;
}

/* ----------  Main card  ---------- */
#gojq-inner {
	background: #f0ebe2;
	border: 1px solid rgba(42, 31, 24, 0.18);
	border-radius: 14px;
	padding: 18px 18px 14px;
	box-shadow: 0 4px 20px rgba(42, 31, 24, 0.10);
	position: relative;
	overflow: hidden;
	transition: opacity 0.4s ease, transform 0.4s ease;
}

/* ----------  Label row (✝ Gospel of John) ---------- */
#gojq-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(42, 31, 24, 0.45);
	margin-bottom: 10px;
}

#gojq-icon {
	font-size: 14px;
	color: rgba(42, 31, 24, 0.40);
	line-height: 1;
}

/* ----------  Verse text  ---------- */
#gojq-text {
	margin: 0 0 10px;
	padding: 0;
	font-size: 13.5px;
	line-height: 1.62;
	color: #2a1f18;
	font-style: italic;
	text-align: center;
	min-height: 64px;
	transition: opacity 0.35s ease;
}

/* ----------  Reference  ---------- */
#gojq-ref {
	display: block;
	font-size: 10.5px;
	font-style: normal;
	font-weight: 700;
	color: rgba(42, 31, 24, 0.50);
	text-align: center;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	transition: opacity 0.35s ease;
}

/* ----------  Controls row  ---------- */
#gojq-controls {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}

#gojq-controls button {
	background: rgba(42, 31, 24, 0.06);
	border: 1px solid rgba(42, 31, 24, 0.14);
	border-radius: 8px;
	color: rgba(42, 31, 24, 0.60);
	cursor: pointer;
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	padding: 4px 12px;
	transition: background 0.2s, transform 0.15s;
	line-height: 1.4;
}

#gojq-controls button:hover {
	background: rgba(42, 31, 24, 0.12);
	transform: scale(1.08);
}

#gojq-controls button:active {
	transform: scale(0.95);
}

/* ----------  Close button  ---------- */
#gojq-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: none;
	border: none;
	color: rgba(42, 31, 24, 0.35);
	font-size: 16px;
	cursor: pointer;
	padding: 2px 4px;
	line-height: 1;
	z-index: 2;
	transition: color 0.2s, transform 0.15s;
}

#gojq-close:hover {
	color: rgba(42, 31, 24, 0.70);
	transform: scale(1.2);
}

/* ----------  Minimised tab  ---------- */
#gojq-tab {
	display: none;
	position: fixed;
	bottom: 24px;
	right: 24px;
	background: #f0ebe2;
	border: 1px solid rgba(42, 31, 24, 0.18);
	border-radius: 40px;
	color: rgba(42, 31, 24, 0.60);
	cursor: pointer;
	font-family: 'DM Sans', sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.8px;
	padding: 8px 16px;
	box-shadow: 0 4px 14px rgba(42, 31, 24, 0.10);
	transition: background 0.2s, transform 0.15s;
	z-index: 99999;
}

#gojq-tab:hover {
	background: #e8e0d5;
	transform: translateY(-2px);
}

/* ----------  Fade animation helper  ---------- */
#gojq-text.gojq-fade,
#gojq-ref.gojq-fade {
	opacity: 0;
}

/* ----------  Entrance animation  ---------- */
@keyframes gojq-slide-in {
	from { opacity: 0; transform: translateY(20px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

#gojq-inner {
	animation: gojq-slide-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ----------  Responsive  ---------- */
@media (max-width: 480px) {
	#gojq-widget {
		bottom: 12px;
		right: 12px;
		width: calc(100vw - 24px);
	}
}
