/*
Theme Name: Leniart Studio
Theme URI: https://leniartstudio.pl/
Author: Piotr Leniart
Description: Motyw blokowy odtworzony na podstawie dawnej strony piotrleniart.pl (trening personalny, Kielnarowa / Rzeszów).
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: leniart
*/

/* ---------- Ogólne ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
main.wp-block-group > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks > footer, .wp-site-blocks > header { margin-block-start: 0 !important; }
.lx-section { padding-block: clamp(64px, 9vw, 120px); }
.lx-eyebrow {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 14px; font-weight: 700; letter-spacing: 1.5px;
	text-transform: uppercase; margin-bottom: 14px !important;
}

/* ---------- Nagłówek ---------- */
.lx-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .lx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lx-header { top: 46px; } }
.lx-header__inner { padding-block: 22px; }
.lx-logo img { width: 72px; height: 72px; display: block; }
.lx-header .wp-block-navigation {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .3px;
}
.lx-header .wp-block-navigation-item__content { padding: 4px 0; border-bottom: 2px solid transparent; transition: border-color .2s; }
.lx-header .wp-block-navigation-item__content:hover,
.lx-header .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: currentColor; }
.lx-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--dark) !important; color: #fff !important; padding: 32px; }
.lx-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-size: 26px; gap: 18px; }
.lx-header__cta .wp-block-button__link { padding: 14px 30px; font-size: 13px; }
@media (max-width: 600px) { .lx-header .lx-header__cta { display: none; } .lx-logo img { width: 56px; height: 56px; } }

/* ---------- Hero ---------- */
.lx-hero .wp-block-cover__inner-container { max-width: 1170px; }
.lx-hero__title {
	font-size: clamp(3.6rem, 11vw, 9rem) !important;
	line-height: .86 !important; letter-spacing: -1px; margin: 0 0 36px;
}
.lx-hero__title span { display: block; }

/* ---------- Sekcja "Cześć" ---------- */
.lx-hello__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.lx-phone { display: inline-flex; align-items: center; gap: 16px; margin-top: 28px !important;
	font-family: var(--wp--preset--font-family--dm-sans); font-weight: 700; font-size: 21px; }
.lx-phone a { color: inherit; text-decoration: none; }
.lx-phone::before {
	content: ""; width: 52px; height: 52px; flex: none; background: #2a2c36 center / 20px no-repeat
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

/* ---------- Usługi ---------- */
.lx-services { gap: 24px !important; }
.lx-service {
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	min-height: 240px; padding: 32px 18px; text-align: center;
	transition: background-color .25s, color .25s;
}
.lx-service h3 { font-size: 24px; margin: 0; hyphens: none; word-break: normal; overflow-wrap: normal; }
.lx-service:hover { background: var(--wp--preset--color--blue) !important; color: #fff; }
.lx-service:hover h3 { color: #fff; }
@media (max-width: 1024px) and (min-width: 782px) {
	.lx-services { flex-wrap: wrap !important; }
	.lx-services > .wp-block-column { flex-basis: calc(33.333% - 16px) !important; flex-grow: 0 !important; }
}

/* ---------- Cel ---------- */
.lx-goal__imgs { position: relative; min-height: 520px; }
.lx-goal__imgs .lx-goal__a { width: 62%; margin: 0; }
.lx-goal__imgs .lx-goal__b { width: 58%; margin: -34% 0 0 38%; position: relative; box-shadow: -18px -18px 0 #fff; }
.lx-goal__imgs img { width: 100%; object-fit: cover; }
.lx-goal__a img { aspect-ratio: 1 / 1.1; }
.lx-goal__b img { aspect-ratio: 3 / 2; }
.lx-checks { list-style: none; padding: 0; margin: 28px 0 36px; font-size: 18px; }
.lx-checks li { position: relative; padding-left: 30px; margin-bottom: 12px; }
.lx-checks li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 8px;
	border-left: 2px solid var(--wp--preset--color--pink); border-bottom: 2px solid var(--wp--preset--color--pink);
	transform: rotate(-45deg);
}

/* ---------- CTA ---------- */
.lx-cta { margin: 0 !important; gap: 0 !important; }
.lx-cta > .wp-block-column { margin: 0 !important; }
.lx-cta .wp-block-cover { height: 100%; padding: 60px 32px; }
.lx-cta h2 { font-size: clamp(2.4rem, 4.2vw, 3.6rem); }
.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent !important; color: inherit !important; }
.is-style-outline > .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--dark) !important; border-color: #fff; }

/* ---------- Opinie (karuzela bez wtyczek) ---------- */
.lx-opinie { position: relative; }
.lx-opinie-track {
	display: flex !important; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
	padding: 8px 4px 24px; scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--blue) transparent;
}
.lx-opinie-track > * { margin: 0 !important; }
.lx-opinia {
	flex: 0 0 min(560px, 86%); scroll-snap-align: start;
	padding: 44px 40px; display: flex; flex-direction: column;
}
.lx-opinia .lx-stars { color: #f5b301; letter-spacing: 3px; font-size: 18px; margin: 0 0 18px; }
.lx-opinia p { font-size: 17px; line-height: 1.65; }
.lx-opinia h3 { font-size: 21px; margin-top: auto !important; padding-top: 18px; }
.lx-opinie-nav { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 18px; }
.lx-opinie-nav button {
	width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; cursor: pointer;
	font-size: 20px; color: var(--wp--preset--color--dark); box-shadow: 0 2px 10px rgba(18,20,25,.08);
}
.lx-opinie-nav button:hover { background: var(--wp--preset--color--blue); color: #fff; }
.lx-opinie-nav button:focus-visible { outline: 2px solid var(--wp--preset--color--blue); outline-offset: 3px; }
.lx-opinie-count { font-family: var(--wp--preset--font-family--barlow-condensed); font-size: 22px; min-width: 64px; text-align: center; }

/* ---------- Kontakt / Contact Form 7 ---------- */
.lx-contact { margin: 0 !important; gap: 0 !important; }
.lx-contact > .wp-block-column { margin: 0 !important; }
.lx-contact .wp-block-cover { height: 100%; min-height: 420px; }
.lx-contact__form { padding: clamp(48px, 7vw, 110px) clamp(24px, 6vw, 110px); }
.lx-cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lx-cf7-grid .lx-full { grid-column: 1 / -1; }
@media (max-width: 600px) { .lx-cf7-grid { grid-template-columns: 1fr; } }
.wpcf7 .lx-cf7-grid p { margin: 0; }
.wpcf7 input[type=checkbox] { width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: -3px; accent-color: var(--wp--preset--color--blue); }
.wpcf7 .wpcf7-list-item { margin: 0; font-size: 14px; }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 textarea {
	width: 100%; box-sizing: border-box; padding: 16px 22px; font: inherit; font-size: 15px;
	background: transparent; color: inherit; border: 1px solid #3a3d48; border-radius: 0;
}
.wpcf7 textarea { height: 120px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--wp--preset--color--blue); }
.wpcf7 input[type=submit] {
	margin-top: 8px; padding: 18px 48px; border: 0; cursor: pointer; background: var(--wp--preset--color--blue);
	color: #fff; font: 500 14px/1 var(--wp--preset--font-family--dm-sans); text-transform: uppercase; letter-spacing: 1.5px;
}
.wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--pink); }
.lx-light .wpcf7 input:not([type=submit]):not([type=checkbox]), .lx-light .wpcf7 textarea { border-color: #d0d6e2; }

/* ---------- Stopka ---------- */
.lx-footer a { color: inherit; text-decoration: none; }
.lx-footer a:hover { color: var(--wp--preset--color--pink); }
.lx-footer__logo img { width: 130px; height: 130px; }
.lx-footer h2 { max-width: 12ch; }
.lx-footer h3 { font-size: 21px; margin-bottom: 20px; }
.lx-footer__list { list-style: none; padding: 0; margin: 0; line-height: 2.3; text-transform: uppercase; font-size: 15px; }
.lx-footer .wp-block-social-links { flex-direction: column; align-items: flex-start; gap: 6px; }
.lx-footer .wp-block-social-link { background: none !important; color: inherit !important; }
.lx-footer__bottom { border-top: 1px solid #333744; padding-top: 26px; font-size: 14px; text-transform: uppercase; }

/* ---------- Podstrony ---------- */
.lx-page-hero h1 { font-size: clamp(2.8rem, 7vw, 5.5rem); }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.lx-goal__imgs { min-height: 0; margin-bottom: 20px; }
	.lx-cta .wp-block-cover { min-height: 320px !important; }
	.lx-opinia { padding: 32px 26px; }
	.lx-service { min-height: 110px; padding: 24px 18px; }
	.lx-services { gap: 12px !important; }
	.lx-contact > .wp-block-column:first-child { display: none; }
	.lx-hero { min-height: 560px !important; }
}

/* Linki na ciemnym tle */
.has-dark-background-color a:not(.wp-element-button), .has-dark-2-background-color a:not(.wp-element-button) { color: #fff; }
.has-dark-background-color a:not(.wp-element-button):hover { color: var(--wp--preset--color--pink); }
