/*
  (c) Copyright C Libs, 2022-2025.  All rights reserved.
  
  This file is part of a C Libs commercial distribution.
  Unauthorized copying, redistribution, or modification is prohibited.
  For licensing terms, contact admin@clibs.co.uk.
  
  Author: M.J.Packwood
  Company: C Libs
  Contact: admin@clibs.co.uk
  Website: http://www.clibs.c.uk
*/

:root {
	--brand-primary: #030b54;
	--brand-secondary: #0390f9;
}

/* Menus */
.w3-bar {
	background-color: var(--brand-primary);
}

.w3-bar .w3-button {
	color: white;
}

.w3-bar .w3-button:hover{
	background-color: var(--brand-secondary) !important;
}

.w3-bar-block .w3-button:hover {
	background-color: var(--brand-primary) !important;
	color: white !important;
}

.w3-bar-block {
	background-color: var(--brand-secondary) !important;
}

@media (max-width: 600px) {
	.logo {
		display: block;
		text-align: center;
		margin-bottom: 10px;
	}
}

/* Body */
.text-content {
	padding: 2rem;
	max-width: 1000px;
	margin: 0 auto;
	padding: 2rem;
}
.text-content h1 {
	font-size: 1.5rem;
}
.text-content h2 {
	margin-top: 2rem;
	font-size: 1.2rem;
}

.text-content img {
	max-width: 300px;
	height: auto;
	margin: 1rem;
	float: right;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.text-content p {
	line-height: 1.6;
	margin-bottom: 1rem;
	font-size: 0.9rem;
}
.text-content::after {
	content: "";
	display: block;
	clear: both;
}

/* Footer */
footer {
	background: var(--brand-primary);
	color: white;
	padding: 2rem 1rem;
	text-align: center;
}
footer a {
	font-size: smaller;
}

.version {
	font-size: x-small;
	text-align: center;
}

.copyright {
	font-size: x-small;
	text-align: center;
}

.social-icons {
	margin-top: 0.5rem;
	display: flex;
	justify-content: center;
	gap: 1.5rem; /* space between icons */
}

.social-icons a {
	color: white;
	font-size: 1.5rem;
	transition: transform 0.2s, color 0.2s;
}

.social-icons a:hover {
	color: var(--brand-secondary);    /* highlight on hover */
	transform: scale(1.2);
}

.social-icons svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}


/* Product Cards Grid */
#products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin: 3rem auto;        /* top/bottom spacing */
	padding: 0 2rem;          /* left/right side margin */
	max-width: 1200px;        /* keeps cards centered on wide screens */
}

/* Individual Product Card */
.product-card {
	background-color: var(--brand-secondary);
	color: var(--brand-primary);
	border-radius: 12px;
	padding: 2rem;
	box-shadow: 0 6px 18px rgba(0,0,0,0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-align: center;
}

/* Hover effect */
.product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 24px rgba(0,0,0,0.4);
}

/* Product Titles */
.product-card h2 {
	margin-bottom: 1rem;
	font-size: 1.5rem;
	color: #fff;
}

/* Descriptions */
.product-card p {
	font-size: 1rem;
	margin-bottom: 1.5rem;
	color: #000;
	line-height: 1.4;
}

.product-card .actions {
	list-style: none;       /* removes bullets */
	padding: 0;             /* removes left padding */
	margin: 0;              /* cleans up spacing */
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.product-card .button {
	font-size: 0.9rem;
	padding: 0.6rem 1rem;
}

.product-card h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.feature-list {
	font-weight: bold;
}

/* Hack! Fix documentation oversizing. */
.document {
	font-size: smaller;
}
