/*
 * Strona główna: nagłówek ze zdjęciem, pasek informacji, kategorie, „Jak to działa”, nosidła, sekcje informacyjne,
 * pytania. Wymiary i kolory z makiety nosidla-wp (index.html).
 */

/* Hero: tekst na kremowym tle, zdjęcie do prawej krawędzi ekranu z dużym zaokrągleniem w lewym dolnym rogu */
.hero { position: relative; }
.hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	min-width: 0;
	padding: 40px var(--gutter-r) 40px var(--gutter-l);
}
.hero__title { font-size: 42px; line-height: 1.06; max-width: 12ch; }
.hero__lead { font-size: 18px; line-height: 1.6; color: var(--c-muted); max-width: 30rem; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 4px; }
.hero__photo { position: relative; height: 320px; max-width: 100%; }
.hero__frame { position: absolute; inset: 0; overflow: hidden; border-bottom-left-radius: 72px; background: var(--c-line); }
.hero__frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.hero .dots { display: none; left: -23px; top: 50%; transform: translateY(-50%); }

@media (min-width: 640px) {
	.hero__title { font-size: 56px; }
}
@media (min-width: 1024px) {
	.hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); }
	.hero__text { padding: 80px 64px 80px max(var(--gutter-l), calc((100vw - var(--wrap)) / 2)); }
	.hero__title { font-size: 60px; }
	.hero__photo { height: auto; min-height: 600px; }
	.hero__frame { border-bottom-left-radius: 180px; }
	.hero .dots { display: flex; }
}

/* Pasek najważniejszych informacji */
.features { background: var(--c-card); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.features__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; padding: 24px 0; }
.features__item { display: flex; align-items: center; gap: 12px; min-width: 0; }
.features__icon { color: var(--c-accent); }
.features__text { font-size: 15px; line-height: 1.35; min-width: 0; }
.features__text b { display: block; font-weight: 600; }
.features__text span { color: var(--c-muted); }
@media (min-width: 1024px) {
	.features__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Sekcje */
.section__inner { display: flex; flex-direction: column; gap: 32px; padding: var(--section-y) 0; }
.section--card { background: var(--c-card); }
.section__title { font-size: 32px; line-height: 1.2; }
.section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.section__head-text { display: flex; flex-direction: column; gap: 8px; max-width: 42rem; min-width: 0; }
@media (min-width: 640px) {
	.section__title { font-size: 40px; }
}

/* Kategorie */
.category-grid { display: grid; gap: 40px 32px; }
.category-card { display: flex; flex-direction: column; gap: 16px; min-width: 0; text-decoration: none; }
.category-card__body { display: flex; flex-direction: column; gap: 4px; max-width: 28rem; min-width: 0; }
.category-card__title { font-size: 26px; }
.category-card:hover .category-card__title { color: var(--c-accent); }
.category-card__lead { color: var(--c-muted); }
@media (min-width: 768px) {
	.category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Jak to działa */
.steps { display: grid; gap: 40px; padding: var(--section-y) 0; }
.steps__intro { display: flex; flex-direction: column; gap: 12px; }
.steps__intro p { max-width: 24rem; }
.steps__list { display: grid; gap: 32px; }
.steps__item { display: flex; flex-direction: column; gap: 12px; }
.steps__title { font-size: 22px; }
.steps__text { font-size: 15px; }
@media (min-width: 640px) {
	.steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.steps { grid-template-columns: 1fr 2.2fr; gap: 64px; }
}

/* Nasze nosidła: przy 1-2 modelach duże karty, przy większej liczbie siatka 2/4 kolumn */
.product-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
.product-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; text-decoration: none; }
.product-card__image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius-lg); background: var(--c-line); }
.product-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.product-card__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.product-card__title { font-family: var(--font-sans); font-weight: 600 !important; font-size: 17px; line-height: 1.3; }
.product-card:hover .product-card__title { color: var(--c-accent); }
.product-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.product-card__price { font-size: 15px; }
.product-card__price del { color: var(--c-muted); }
.product-card__price ins { text-decoration: none; font-weight: 600; }

.product-cards--few { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.product-cards--few .product-card { gap: 0; overflow: hidden; border: 1px solid var(--c-line); border-radius: var(--radius-lg); background: var(--c-card); }
.product-cards--few .product-card:hover { border-color: var(--c-accent); }
.product-cards--few .product-card__image { aspect-ratio: 4 / 3; border-radius: 0; }
.product-cards--few .product-card__body { gap: 12px; padding: 20px; border-top: 1px solid var(--c-line); }
.product-cards--few .product-card__title { font-family: var(--font-display); font-weight: 400 !important; font-size: 28px; line-height: 1.15; }
.product-cards--few .product-card__foot { padding-top: 8px; }
.product-cards--few .product-card:hover .btn--primary { background: var(--c-accent-dark); }

@media (min-width: 640px) {
	.product-cards { gap: 32px 24px; }
	.product-cards--few .product-card__body { padding: 28px; }
	.product-cards--few .product-card__title { font-size: 32px; }
}
@media (min-width: 768px) {
	.product-cards--few { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.product-cards:not(.product-cards--few) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Sekcje ze zdjęciem i tekstem obok */
.split { display: grid; gap: 40px; align-items: center; padding: 48px 0; }
.split__text { display: flex; flex-direction: column; gap: 20px; max-width: 32rem; min-width: 0; }
.split--reverse .split__photo { order: 1; }
.split--reverse .split__text { order: 2; gap: 24px; }
@media (min-width: 1024px) {
	.split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
	.split--reverse .split__photo { order: 2; }
	.split--reverse .split__text { order: 1; }
}

.delivery-rows { display: flex; flex-direction: column; gap: 20px; }
.delivery-row { display: flex; gap: 16px; }
.delivery-row__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.delivery-row__text .muted { font-size: 15px; }
.delivery-row__title { font-weight: 600; font-size: 17px; }

/* Pytania i odpowiedzi */
.faq { display: grid; gap: 32px; padding: var(--section-y) 0; }
.faq__intro { display: flex; flex-direction: column; gap: 12px; }
.faq__intro p { max-width: 24rem; }
.faq__list { border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.acc + .acc { border-top: 1px solid var(--c-line); }
.acc__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	font-weight: 600;
	font-size: 17px;
	list-style: none;
	cursor: pointer;
}
.acc__summary::-webkit-details-marker { display: none; }
.acc__chev { font-size: 24px; line-height: 1; color: var(--c-accent); transition: transform .2s ease; }
.acc[open] .acc__chev { transform: rotate(45deg); }
.acc__body { padding-bottom: 20px; max-width: 42rem; }
@media (min-width: 1024px) {
	.faq { grid-template-columns: 1fr 1.6fr; }
}
