/*
Theme Name: Elite Cars Premium
Theme URI: https://elitecarsdanielpieda.pl
Author: Elite Cars
Description: Dedykowany, responsywny motyw dla wypożyczalni Elite Cars Daniel Pieda.
Version: 1.1.1
Text Domain: elitecars
*/

:root { --ink:#0b0e11; --paper:#f2f3ef; --lime:#caff32; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
body.admin-bar .topbar { top:32px; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
h1,h2,h3,p { margin-top:0; }

.topbar { height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 4vw; background:#0a0d10; color:white; position:relative; z-index:50; border-bottom:1px solid #ffffff18; }
.brand,.custom-logo-link { display:flex; align-items:center; }
.client-logo { display:block; position:relative; overflow:hidden; width:170px; height:70px; background:#000; }
.client-logo img { position:absolute; width:170px; height:170px; max-width:none; left:0; top:-36px; object-fit:cover; }
.custom-logo-link img { display:block; width:auto; max-width:180px; max-height:68px; }
.nav { display:flex; gap:34px; font-size:13px; color:#c5c7c9; }
.nav a:hover,.nav a:focus-visible { color:var(--lime); }
.header-actions { display:flex; align-items:center; gap:22px; }
.phone { font-size:13px; font-weight:700; }
.phone span { color:var(--lime); font-size:10px; margin-right:7px; }
.button { background:var(--lime); color:#090b0d; min-height:54px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:22px; font-size:13px; font-weight:800; border:0; transition:.25s; }
.button:hover,.button:focus-visible { background:white; transform:translateY(-2px); }
.button-small { min-height:43px; padding:0 18px; }
.menu { display:none; background:none; border:0; color:white; font-size:24px; cursor:pointer; }

.hero { min-height:calc(100vh - 82px); position:relative; color:white; overflow:hidden; display:flex; align-items:center; }
.hero-bg { position:absolute; inset:0; background:url('assets/images/hero-fleet.png') 62% center/cover no-repeat; animation:drift 14s ease-in-out infinite alternate; transform:scale(1.02); }
@keyframes drift { to { transform:scale(1.07) translateX(-1%); } }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,9,12,.98) 0%,rgba(6,9,12,.86) 30%,rgba(6,9,12,.28) 65%,rgba(6,9,12,.15)),linear-gradient(0deg,rgba(6,9,12,.7),transparent 50%); }
.hero-content { width:min(660px,91vw); margin-left:7vw; position:relative; z-index:2; padding:70px 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:800; color:#c9cdd0; display:flex; align-items:center; gap:11px; }
.eyebrow span { display:block; width:28px; height:2px; background:var(--lime); }
.eyebrow.dark { color:#555b60; }
.hero h1 { font-size:clamp(50px,6.4vw,96px); line-height:.91; letter-spacing:-.065em; margin:27px 0 28px; max-width:780px; }
.hero h1 em,.process h2 em,.cta h2 em { font-weight:400; color:var(--lime); font-style:normal; }
.hero-copy { color:#bdc1c4; line-height:1.7; max-width:545px; font-size:16px; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:34px; }
.text-link { font-size:13px; font-weight:700; border-bottom:1px solid #ffffff55; padding:14px 0; }
.text-link span { margin-left:14px; color:var(--lime); }
.trust-row { display:flex; margin-top:67px; border-top:1px solid #ffffff25; width:max-content; }
.trust-row>div { min-width:145px; padding:19px 28px 0 0; margin-right:28px; border-right:1px solid #ffffff25; }
.trust-row strong { font-size:20px; display:block; }
.trust-row small { display:block; color:#8d9398; margin-top:5px; }
.scroll-note { position:absolute; right:3vw; bottom:46px; z-index:2; writing-mode:vertical-rl; font-size:8px; letter-spacing:.19em; color:#8f9499; }
.scroll-note span { display:inline-block; width:1px; height:48px; background:var(--lime); margin:0 auto 12px; }

.fleet { padding:115px 6vw 125px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:55px; gap:30px; }
.section-heading h2,.proof h2,.coverage h2 { font-size:clamp(37px,4.2vw,66px); line-height:.98; letter-spacing:-.055em; margin:20px 0 0; }
.section-heading>p { max-width:430px; color:#62676b; line-height:1.7; }
.fleet-tabs { display:flex; gap:12px; margin:-20px 0 34px; }
.fleet-tabs a { min-width:230px; padding:18px 22px; border:1px solid #cfd2cc; background:#e7e9e3; font-size:13px; font-weight:800; display:flex; justify-content:space-between; transition:.25s; }
.fleet-tabs a:first-child { background:var(--ink); color:white; border-color:var(--ink); }
.fleet-tabs a span { color:var(--lime); }
.fleet-tabs a:hover,.fleet-tabs a:focus-visible { background:var(--lime); border-color:var(--lime); color:var(--ink); transform:translateY(-2px); }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); min-height:430px; }
.category { position:relative; overflow:hidden; padding:28px; min-height:430px; display:flex; flex-direction:column; justify-content:space-between; color:white; background:#171c20; border-right:1px solid #ffffff1c; transition:.35s; }
.category:before { content:''; position:absolute; inset:0; background:url('assets/images/hero-fleet.png') center/cover; opacity:.32; filter:grayscale(1); transition:.5s; }
.category.c1:before { background-position:65% 65%; }
.category.c2:before { background-position:42% 50%; }
.category.c3:before { background-position:82% 38%; }
.category.c4:before { background-position:100% 35%; }
.category.vehicle-card:before { background-image:var(--vehicle-image, url('assets/images/hero-fleet.png')); }
.category:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#080b0dee 4%,transparent 72%); }
.category:hover,.category:focus-visible { transform:translateY(-9px); box-shadow:0 18px 40px #0003; }
.category:hover:before,.category:focus-visible:before { opacity:.58; transform:scale(1.05); filter:grayscale(0); }
.category>* { position:relative; z-index:2; }
.category-no { font-size:11px; color:#cfd2d3; }
.tag { font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:var(--lime); }
.category h3 { font-size:31px; letter-spacing:-.04em; margin:12px 0 4px; }
.category p { font-size:12px; color:#a6aaad; }
.round-arrow { position:absolute; right:24px; bottom:27px; width:42px; height:42px; border:1px solid #ffffff55; border-radius:50%; display:grid; place-items:center; }
.category:hover .round-arrow,.category:focus-visible .round-arrow { background:var(--lime); color:#111; border-color:var(--lime); }

.process { background:#0a0d10; color:white; padding:110px 7vw; display:grid; grid-template-columns:1fr 1.2fr; gap:10vw; }
.process h2,.cta h2 { font-size:clamp(46px,5.2vw,78px); line-height:.96; letter-spacing:-.06em; margin:24px 0; }
.process ol { list-style:none; margin:0; padding:0; }
.process li { display:flex; gap:30px; padding:25px 0; border-bottom:1px solid #ffffff20; }
.process li>span { color:var(--lime); font-size:11px; }
.process h3 { font-size:21px; margin-bottom:7px; }
.process li p { color:#858b90; line-height:1.6; margin:0; }

.proof { padding:115px 7vw; }
.proof-copy { text-align:center; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d4d6d1; margin-top:60px; }
.proof article { background:var(--paper); padding:43px; }
.proof article>span { display:grid; place-items:center; width:38px; height:38px; background:var(--lime); border-radius:50%; font-weight:900; }
.proof h3 { font-size:20px; margin:28px 0 10px; }
.proof article p { color:#60666a; line-height:1.7; }
.coverage { padding:95px 7vw; background:#e3e5df; }
.coverage>p:last-child { max-width:720px; color:#5f6569; line-height:1.8; margin:28px 0 0; }

.cta { background:#14191d; color:white; padding:100px 7vw; }
.cta h2 { max-width:960px; }
.cta-actions { display:flex; gap:30px; align-items:center; margin-top:40px; }
.text-link.light { color:white; }
.address { color:#858b90; margin-top:35px; font-size:13px; }
footer { background:#090c0e; color:#8e9498; padding:35px 5vw; display:flex; justify-content:space-between; align-items:center; font-size:12px; }
footer .client-logo { width:150px; height:62px; }
footer .client-logo img { width:150px; height:150px; top:-32px; }
footer .custom-logo-link img { max-width:155px; max-height:58px; }
footer>a:not(.brand):not(.custom-logo-link):hover { color:var(--lime); }

.subpage-topbar { position:relative; }
.catalog-hero { background:#0a0d10; color:white; padding:95px 7vw 85px; }
.catalog-hero h1 { font-size:clamp(48px,6vw,88px); line-height:.95; letter-spacing:-.06em; margin:24px 0; }
.catalog-hero>p:last-child { color:#9ca2a6; line-height:1.7; max-width:680px; }
.catalog-filters { padding:26px 7vw; background:#14191d; display:flex; flex-wrap:wrap; gap:9px; }
.catalog-filters a { padding:11px 15px; color:#aeb3b7; border:1px solid #ffffff20; font-size:11px; font-weight:800; }
.catalog-filters a:hover,.catalog-filters a:focus-visible,.catalog-filters a.active { background:var(--lime); color:#0a0d10; border-color:var(--lime); }
.catalog-listing { padding:75px 7vw 110px; min-height:50vh; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.vehicle-tile { display:block; background:#11161a; color:white; overflow:hidden; transition:.28s; }
.vehicle-tile:hover,.vehicle-tile:focus-visible { transform:translateY(-7px); box-shadow:0 22px 45px #1113; }
.vehicle-tile-image { display:block; aspect-ratio:1.43; background-size:cover; background-position:center; transition:.45s; }
.vehicle-tile:hover .vehicle-tile-image,.vehicle-tile:focus-visible .vehicle-tile-image { transform:scale(1.025); }
.vehicle-tile-copy { display:block; padding:24px; }
.vehicle-tile-copy small { color:var(--lime); text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.vehicle-tile-copy strong { display:block; font-size:25px; letter-spacing:-.035em; margin:12px 0 20px; }
.vehicle-tile-copy>span { color:#adb2b5; font-size:12px; display:flex; justify-content:space-between; }
.vehicle-tile-copy b { color:var(--lime); }
.empty-fleet { background:#e3e5df; padding:55px; max-width:820px; }
.empty-fleet h2 { font-size:38px; letter-spacing:-.04em; }
.empty-fleet p { color:#62686c; line-height:1.7; }
.vehicle-detail { padding:45px 7vw 110px; }
.vehicle-breadcrumbs { display:flex; gap:12px; align-items:center; color:#757b7f; font-size:11px; margin-bottom:34px; }
.vehicle-breadcrumbs a:hover { color:#111; }
.vehicle-detail-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:5vw; align-items:start; }
.vehicle-photo { min-height:620px; background-size:cover; background-position:center; position:sticky; top:20px; }
.vehicle-info { padding:35px 0; }
.vehicle-kicker { color:#4e6500; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:900; }
.vehicle-info h1 { font-size:clamp(45px,5vw,72px); line-height:.95; letter-spacing:-.06em; margin:22px 0 18px; }
.vehicle-spec { color:#62686c; font-size:13px; }
.vehicle-price { font-size:24px; font-weight:900; margin:35px 0; padding:22px 0; border-top:1px solid #ccd0ca; border-bottom:1px solid #ccd0ca; }
.vehicle-description { color:#4f565a; line-height:1.8; font-size:15px; }
.vehicle-actions { display:flex; gap:22px; align-items:center; margin-top:38px; }
.dark-link { color:#111; border-color:#1114; }
.vehicle-note { margin-top:28px; color:#777d81; font-size:11px; line-height:1.6; }

@media(max-width:1000px) {
	body.admin-bar .topbar { top:46px; }
	.nav { display:none; position:absolute; top:82px; left:0; right:0; background:#0a0d10; padding:25px 5vw; flex-direction:column; }
	.nav.open { display:flex; }
	.phone,.header-actions .button-small { display:none; }
	.menu { display:block; }
	.category-grid { grid-template-columns:repeat(2,1fr); }
	.category { min-height:360px; }
	.catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.vehicle-detail-grid { grid-template-columns:1fr; }
	.vehicle-photo { position:relative; top:0; min-height:520px; }
	.process { grid-template-columns:1fr; }
	.proof-grid { grid-template-columns:1fr; }
	.proof article { padding:30px; }
	.hero-bg { background-position:67% center; }
}

@media(max-width:650px) {
	.topbar { height:70px; }
	.nav { top:70px; }
	.client-logo { width:145px; height:60px; }
	.client-logo img { width:145px; height:145px; top:-31px; }
	.custom-logo-link img { max-width:150px; max-height:57px; }
	.hero { min-height:calc(100vh - 70px); }
	.hero-content { margin-left:5vw; padding:70px 0 30px; }
	.hero h1 { font-size:49px; }
	.hero-copy { font-size:14px; max-width:90%; }
	.hero-actions { align-items:flex-start; flex-direction:column; gap:8px; }
	.trust-row { width:100%; margin-top:42px; }
	.trust-row>div { min-width:0; flex:1; padding-right:10px; margin-right:10px; }
	.trust-row>div:last-child { display:none; }
	.fleet,.proof,.coverage { padding:80px 5vw; }
	.section-heading { align-items:start; flex-direction:column; }
	.fleet-tabs { flex-direction:column; margin-top:-15px; }
	.fleet-tabs a { min-width:0; width:100%; }
	.category-grid { grid-template-columns:1fr 1fr; }
	.category { min-height:290px; padding:18px; }
	.category h3 { font-size:23px; }
	.round-arrow { right:15px; bottom:15px; }
	.process,.cta { padding:80px 5vw; }
	.cta-actions { align-items:flex-start; flex-direction:column; }
	footer { align-items:flex-start; gap:28px; flex-direction:column; }
	.catalog-hero { padding:70px 5vw 60px; }
	.catalog-filters { padding:20px 5vw; }
	.catalog-listing,.vehicle-detail { padding:55px 5vw 80px; }
	.vehicle-photo { min-height:390px; }
	.vehicle-actions { align-items:flex-start; flex-direction:column; }
	.scroll-note { display:none; }
}

@media(max-width:430px) {
	.category-grid { grid-template-columns:1fr; }
	.catalog-grid { grid-template-columns:1fr; }
	.vehicle-photo { min-height:280px; }
}

@media (prefers-reduced-motion:reduce) {
	html { scroll-behavior:auto; }
	.hero-bg { animation:none; }
	.category { transition:none; }
}
