/* Strona glowna (A1): hero, pasek zaufania, nowosci, epoki, kluby, gwarancja, prezenty, wlasciciel, blog, instagram. */

/* Hero */
.lfs-hero { position: relative; height: 600px; overflow: hidden; background: var(--lfs-ink-900); color: var(--lfs-white); }
.lfs-hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lfs-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.15) 100%); }
.lfs-hero__inner { position: relative; height: 100%; display: flex; align-items: center; }
.lfs-hero__content { max-width: 640px; display: flex; flex-direction: column; gap: 22px; }
.lfs-hero__title { font-size: 64px; line-height: 1.02; color: var(--lfs-white); text-wrap: pretty; }
.lfs-hero__lead { color: var(--lfs-ink-100); font-size: 18px; line-height: 1.55; max-width: 540px; }
.lfs-hero__actions { display: flex; gap: 14px; margin-top: 8px; flex-wrap: wrap; }
@media (max-width: 767px) {
	.lfs-hero { height: 440px; }
	.lfs-hero__shade { background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.85) 85%); }
	.lfs-hero__inner { align-items: flex-end; padding-bottom: 20px; }
	.lfs-hero__content { gap: 12px; }
	.lfs-hero .lfs-eyebrow { font-size: 14px; }
	.lfs-hero__title { font-size: 38px; }
	.lfs-hero__lead { font-size: 14.5px; line-height: 1.5; }
	.lfs-hero__actions { flex-direction: column; gap: 10px; margin-top: 4px; }
	.lfs-hero__actions .lfs-btn { width: 100%; padding: 14px; }
}

/* Pasek zaufania */
.lfs-trust { background: var(--lfs-ink-900); color: var(--lfs-white); }
.lfs-trust__inner { display: flex; align-items: center; justify-content: center; gap: 44px; height: 64px; font-size: 14px; font-weight: 500; }
.lfs-trust__item { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
@media (max-width: 1023px) { .lfs-trust__inner { gap: 24px; font-size: 13px; } }
@media (max-width: 767px) {
	.lfs-trust__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; height: auto; padding: 16px; font-size: 12.5px; }
	.lfs-trust__item { gap: 8px; white-space: normal; }
	.lfs-trust__item svg { width: 15px; height: 15px; flex: 0 0 auto; }
}

/* Nowosci */
@media (max-width: 767px) {
	.lfs-home-news__grid .lfs-card:nth-child(n+5) { display: none; }
}

/* Epoki */
.lfs-home-epochs__lead { color: var(--lfs-text-muted); font-size: 15px; margin: 10px 0 32px; }
.lfs-epoch { position: relative; display: block; aspect-ratio: 3 / 4; background: var(--lfs-ink-900); overflow: hidden; color: var(--lfs-white); }
.lfs-epoch__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease, opacity 0.3s ease; }
.lfs-epoch__img--empty .lfs-placeholder { background-color: var(--lfs-ink-800); color: var(--lfs-ink-500); background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(255, 255, 255, 0.04) 14px 16px); height: 100%; }
.lfs-epoch:hover .lfs-epoch__img { transform: scale(1.04); opacity: 0.65; }
.lfs-epoch__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.75) 100%); pointer-events: none; }
.lfs-epoch__text { position: absolute; left: 20px; bottom: 18px; right: 16px; display: flex; flex-direction: column; pointer-events: none; }
.lfs-epoch__num { font-family: var(--lfs-font-head); font-weight: 700; font-size: 76px; line-height: 0.9; color: var(--lfs-accent); }
.lfs-epoch__label { color: var(--lfs-white); font-weight: 600; font-size: 16px; margin-top: 6px; }
.lfs-epoch__count { color: var(--lfs-ink-300); font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
	.lfs-home-epochs__lead { display: none; }
	.lfs-home-epochs .lfs-h2 { margin-bottom: 18px; }
	.lfs-epoch__text { left: 14px; bottom: 12px; }
	.lfs-epoch__num { font-size: 44px; }
	.lfs-epoch__label { font-size: 13px; margin-top: 4px; }
	.lfs-epoch__count { display: none; }
}

/* Kluby */
.lfs-home-clubs { padding: 56px 0; border-bottom: 1px solid var(--lfs-border); }
.lfs-home-clubs .lfs-section-head { margin-bottom: 26px; }
.lfs-home-clubs .lfs-h2 { font-size: 32px; }
@media (max-width: 767px) {
	.lfs-home-clubs { padding: 36px 0 40px; }
	.lfs-home-clubs .lfs-section-head { flex-direction: row; align-items: baseline; margin-bottom: 16px; }
	.lfs-home-clubs .lfs-h2 { font-size: 24px; }
}

/* Gwarancja oryginalnosci */
.lfs-home-guarantee { position: relative; overflow: hidden; }
.lfs-home-guarantee__deco { position: absolute; right: -20px; top: -60px; font-family: var(--lfs-font-head); font-weight: 700; font-size: 420px; line-height: 1; color: var(--lfs-ink-800); pointer-events: none; user-select: none; }
.lfs-home-guarantee__inner { position: relative; display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: center; }
.lfs-home-guarantee .lfs-eyebrow { margin-bottom: 14px; }
.lfs-home-guarantee__title { font-size: 48px; line-height: 1.03; margin-bottom: 18px; text-wrap: pretty; }
.lfs-home-guarantee__lead { color: var(--lfs-ink-300); font-size: 16px; line-height: 1.6; max-width: 460px; margin-bottom: 36px; }
.lfs-steps { list-style: none; display: flex; flex-direction: column; gap: 24px; margin-bottom: 40px; }
.lfs-steps__item { display: flex; gap: 18px; }
.lfs-steps__num { color: var(--lfs-accent); font-family: var(--lfs-font-head); font-weight: 700; font-size: 32px; line-height: 1; flex: 0 0 auto; min-width: 40px; }
.lfs-steps__title { font-weight: 600; font-size: 15.5px; }
.lfs-steps__text { color: var(--lfs-ink-300); font-size: 14px; margin-top: 3px; }
.lfs-home-guarantee__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lfs-home-guarantee__fig { margin: 0; }
.lfs-home-guarantee__fig--wide { grid-column: 1 / -1; }
.lfs-home-guarantee__fig img { width: 100%; height: 210px; object-fit: cover; }
.lfs-home-guarantee__fig--wide img { height: 300px; }
.lfs-home-guarantee__fig figcaption { color: var(--lfs-ink-300); font-size: 12.5px; margin-top: 8px; }
@media (max-width: 1023px) {
	.lfs-home-guarantee__inner { grid-template-columns: 1fr; gap: 40px; }
	.lfs-home-guarantee__deco { font-size: 260px; }
}
@media (max-width: 767px) {
	.lfs-home-guarantee { padding: 48px 0; }
	.lfs-home-guarantee__deco { display: none; }
	.lfs-home-guarantee__inner { gap: 0; }
	.lfs-home-guarantee .lfs-eyebrow { font-size: 14px; margin-bottom: 10px; }
	.lfs-home-guarantee__title { font-size: 34px; margin-bottom: 14px; }
	.lfs-home-guarantee__lead { font-size: 14px; margin-bottom: 22px; }
	.lfs-home-guarantee__text { display: contents; }
	.lfs-home-guarantee__photos { order: 1; gap: 10px; margin-bottom: 24px; }
	.lfs-home-guarantee__fig img { height: 120px; }
	.lfs-home-guarantee__fig--wide img { height: 200px; }
	.lfs-home-guarantee__fig figcaption { display: none; }
	.lfs-steps { order: 2; gap: 16px; margin-bottom: 26px; }
	.lfs-steps__item { gap: 14px; }
	.lfs-steps__num { font-size: 26px; min-width: 32px; }
	.lfs-steps__title { font-size: 13.5px; }
	.lfs-steps__text { font-size: 13px; }
	.lfs-home-guarantee .lfs-btn { order: 3; width: 100%; padding: 13px; font-size: 14px; }
	.lfs-home-guarantee .lfs-eyebrow, .lfs-home-guarantee__title, .lfs-home-guarantee__lead { order: 0; }
	.lfs-home-guarantee__inner { display: flex; flex-direction: column; align-items: stretch; }
}

/* Prezenty */
.lfs-home-gifts .lfs-section-head__lead { margin-top: 8px; font-size: 15px; }
@media (max-width: 767px) {
	.lfs-home-gifts .lfs-section-head__lead { font-size: 13.5px; margin-top: 4px; }
	.lfs-home-gifts .lfs-card__meta { display: none; }
}

/* O wlascicielu */
.lfs-home-owner { padding: 80px 0; }
.lfs-home-owner__inner { display: grid; grid-template-columns: 420px 1fr; gap: 64px; align-items: center; }
.lfs-home-owner__photo { width: 420px; height: 420px; }
.lfs-home-owner__photo img { width: 100%; height: 100%; object-fit: cover; }
.lfs-home-owner .lfs-eyebrow { margin-bottom: 12px; }
.lfs-home-owner__title { margin-bottom: 18px; text-wrap: pretty; }
.lfs-home-owner__p1 { font-size: 16px; line-height: 1.65; max-width: 560px; margin-bottom: 14px; }
.lfs-home-owner__p2 { font-size: 16px; line-height: 1.65; color: var(--lfs-text-muted); max-width: 560px; margin-bottom: 28px; }
@media (max-width: 1023px) {
	.lfs-home-owner__inner { grid-template-columns: 300px 1fr; gap: 40px; }
	.lfs-home-owner__photo { width: 300px; height: 300px; }
}
@media (max-width: 767px) {
	.lfs-home-owner { padding: 44px 0; }
	.lfs-home-owner__inner { grid-template-columns: 1fr; gap: 20px; }
	.lfs-home-owner__photo { width: 100%; height: 260px; }
	.lfs-home-owner .lfs-eyebrow { font-size: 14px; margin-bottom: 8px; }
	.lfs-home-owner__title { font-size: 28px; margin-bottom: 12px; }
	.lfs-home-owner__p1 { font-size: 14.5px; color: var(--lfs-text-muted); margin-bottom: 8px; }
	.lfs-home-owner__p2 { font-size: 14.5px; margin-bottom: 18px; }
	.lfs-home-owner .lfs-link-arrow { display: inline-flex; }
}

/* Blog */
.lfs-post-card { background: var(--lfs-white); border: 1px solid var(--lfs-border); display: flex; flex-direction: column; }
.lfs-post-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--lfs-ink-100); }
.lfs-post-card__img { width: 100%; height: 100%; object-fit: cover; }
.lfs-post-card__cat { position: absolute; left: 14px; top: 14px; background: var(--lfs-ink-900); color: var(--lfs-white); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 9px; }
.lfs-post-card__body { padding: 20px 22px 24px; }
.lfs-post-card__meta { color: var(--lfs-text-muted); font-size: 12.5px; margin-bottom: 10px; }
.lfs-post-card__title { font-family: var(--lfs-font-head); font-weight: 600; font-size: 24px; line-height: 1.1; text-transform: none; text-wrap: pretty; }
.lfs-post-card__title a { color: var(--lfs-ink-900); }
.lfs-post-card__title a:hover { color: var(--lfs-accent-text); }
.lfs-post-card__excerpt { margin-top: 10px; font-size: 14px; color: var(--lfs-text-muted); line-height: 1.55; }
@media (max-width: 767px) {
	.lfs-home-blog .lfs-section-head .lfs-link-arrow { display: none; }
	.lfs-home-blog__grid { grid-template-columns: 1fr; gap: 12px; }
	.lfs-home-blog .lfs-post-card { flex-direction: row; }
	.lfs-home-blog .lfs-post-card__media { flex: 0 0 116px; aspect-ratio: auto; }
	.lfs-home-blog .lfs-post-card__cat { position: static; display: inline-block; font-size: 10px; padding: 3px 7px; }
	.lfs-home-blog .lfs-post-card__body { padding: 12px 14px 14px; min-width: 0; }
	.lfs-home-blog .lfs-post-card__meta { display: inline; font-size: 11.5px; margin-left: 8px; }
	.lfs-home-blog .lfs-post-card__title { font-size: 18px; line-height: 1.12; margin-top: 6px; }
	.lfs-home-blog .lfs-post-card__excerpt { display: none; }
	.lfs-home-blog__all { margin-top: 16px; }
}

/* Instagram */
.lfs-home-insta { padding: 56px 0; }
.lfs-home-insta__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.lfs-home-insta__title { font-size: 28px; color: var(--lfs-white); }
.lfs-home-insta__title span { color: var(--lfs-accent); }
.lfs-home-insta__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lfs-home-insta__item { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--lfs-ink-800); }
.lfs-home-insta__item img { width: 100%; height: 100%; object-fit: cover; transition: opacity var(--lfs-ease); }
.lfs-home-insta__item:hover img { opacity: 0.85; }
.lfs-dots { display: none; }
@media (max-width: 767px) {
	.lfs-home-insta { padding: 36px 0; }
	.lfs-home-insta__head { align-items: baseline; margin-bottom: 16px; }
	.lfs-home-insta__title { font-size: 22px; }
	.lfs-home-insta .lfs-link-arrow { color: var(--lfs-accent); font-size: 13px; }
	.lfs-home-insta__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 0 calc(-1 * var(--lfs-gutter)); padding: 0 var(--lfs-gutter) 8px; scroll-padding-left: var(--lfs-gutter); scrollbar-width: none; }
	.lfs-home-insta__grid::-webkit-scrollbar { display: none; }
	.lfs-home-insta__item { flex: 0 0 264px; height: 264px; scroll-snap-align: start; }
	.lfs-dots { display: flex; gap: 6px; justify-content: center; margin-top: 14px; }
	.lfs-dot { width: 8px; height: 4px; border-radius: 2px; background: var(--lfs-ink-300); transition: width var(--lfs-ease), background var(--lfs-ease); }
	.lfs-dots--dark .lfs-dot { background: var(--lfs-ink-600); }
	.lfs-dot.is-active { width: 16px; background: var(--lfs-accent); }
}
