/*
Theme Name: Rapi
Description: Landing page theme for Rapi Enterprise. Child of Twenty Twenty-Five with the Rapi colours and fonts.
Author: Rapi Enterprise
Template: twentytwentyfive
Version: 0.1.0
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rapi
*/

/* Anchor links land below the sticky header. */
html {
	scroll-padding-top: 96px;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Sticky header */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 0px);
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}

.rapi-header {
	border-bottom: 1px solid rgba(18, 32, 35, 0.08);
}

.rapi-header .wp-block-site-logo img {
	width: auto;
	max-height: 52px;
}

@media (max-width: 600px) {
	.rapi-header .wp-block-site-logo img {
		max-height: 42px;
	}

	.rapi-header .wp-block-button__link {
		padding: 0.6rem 1.1rem;
		font-size: 0.875rem;
	}
}

/* Small uppercase label above section headings */
.rapi-kicker {
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--accent-1);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.has-accent-1-background-color .rapi-kicker {
	color: var(--wp--preset--color--accent-3);
}

/* Section intros line up with the wide content but keep a readable line length */
.rapi-intro > p:not(.rapi-kicker) {
	max-width: 46rem;
}

/* Cards stretch to the tallest in their row */
.rapi-cards > .wp-block-column > .wp-block-group,
.rapi-cards > .wp-block-group {
	height: 100%;
}

/* Gallery and sticker captions; smaller on phones where tiles sit side by side */
.rapi-grid .wp-element-caption {
	margin-top: 0.75rem;
	text-align: left;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--accent-4);
}

.rapi-grid .wp-element-caption strong {
	display: block;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--bricolage-grotesque);
	font-size: 1.125rem;
}

/* Sticker set names sit centred under each sticker image */
.rapi-stickers .wp-element-caption {
	text-align: center;
}

@media (max-width: 600px) {
	.rapi-grid .wp-element-caption {
		font-size: 0.8125rem;
	}

	.rapi-grid .wp-element-caption strong {
		font-size: 0.9375rem;
	}
}

/* Footer disclaimer from Rapi Orders → Settings */
.rapi-disclaimer {
	margin-top: 0.5rem;
	color: rgba(169, 210, 181, 0.75);
	font-size: 0.8125rem;
	line-height: 1.5;
}

/* The order form section sits in a white card */
.rapi-order-card {
	box-shadow: 0 10px 40px rgba(18, 32, 35, 0.08);
}
