/*
Theme Name:        Recepcja
Theme URI:         https://webidemic.pl/recepcja/
Author:            Webidemic
Author URI:        https://webidemic.pl/
Description:       Lekki motyw dla stron usługowych z rezerwacjami online. Działa z darmowym Elementorem i wtyczką Recepcja Core.
Version:           0.1.0
Requires at least: 6.4
Tested up to:      7.0
Requires PHP:      8.1
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       recepcja
*/

/* ---------------------------------------------------------------
 * Warstwa 2: baza motywu. Kolory i fonty biorą się z tokenów
 * (zmienne Elementora + --rcp-*), nic nie jest wpisane na sztywno.
 * ------------------------------------------------------------- */

:root {
	--rcp-container: 1340px;
	--rcp-gutter: clamp(16px, 4vw, 24px);
	--rcp-radius: 12px;
	--rcp-color-text: var(--e-global-color-text, #2b2b2b);
	--rcp-color-bg: #ffffff;
	--rcp-color-primary: var(--e-global-color-primary, #b5838d);
	--rcp-font-body: var(--e-global-typography-text-font-family, system-ui), system-ui, -apple-system, "Segoe UI", sans-serif;
	--rcp-font-heading: var(--e-global-typography-primary-font-family, system-ui), system-ui, -apple-system, "Segoe UI", sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--rcp-color-bg);
	color: var(--rcp-color-text);
	font-family: var(--rcp-font-body);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--rcp-font-heading);
	line-height: 1.2;
	margin: 0 0 0.5em;
}

h1 { font-size: clamp(2rem, 1.4rem + 2.5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem); }

p { margin: 0 0 1em; }

img, svg, video {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--rcp-color-primary);
}

/* Kontener motywu (poza Elementorem: wpisy, archiwa, fallback). */
.rcp-container {
	width: 100%;
	max-width: calc(var(--rcp-container) + 2 * var(--rcp-gutter));
	margin-inline: auto;
	padding-inline: var(--rcp-gutter);
}

.rcp-main {
	padding-block: clamp(2rem, 5vw, 4rem);
}

/* Strony zbudowane w Elementorze dostają pełną szerokość. */
.rcp-main--elementor {
	padding-block: 0;
}

/* Prosty header/footer awaryjny, gdy wtyczka core nie dostarcza własnego. */
.rcp-fallback-header,
.rcp-fallback-footer {
	padding-block: 1.25rem;
}

.rcp-fallback-header .rcp-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.rcp-fallback-header .custom-logo {
	max-height: 56px;
	width: auto;
}

.rcp-fallback-header a,
.rcp-fallback-footer a {
	text-decoration: none;
	color: inherit;
}

.rcp-fallback-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rcp-fallback-footer {
	font-size: 0.875rem;
	border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.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;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
	background: #fff;
	color: #000;
	padding: 0.75rem 1rem;
}
