/* =====================================================================
   Czas Duszy - baza.css (motyw czasduszy 1.0.0, CD2610-M.3)
   Reset, typografia Montserrat (lokalnie), kontenery 1080 px, paleta Lunaria.
   Ponizej sekcje przeniesione z divi-child 1.7.1 style.css (siatka wpisow,
   paginacja, #czd-fullwidth-wrap, wyniki wyszukiwania) - bez selektorow Divi.
   ===================================================================== */

@font-face { font-family: "Montserrat"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url("../fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2-variations"), url("../fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: italic; font-display: swap; font-weight: 100 900;
	src: url("../fonts/montserrat-latin-ext-wght-italic.woff2") format("woff2-variations"), url("../fonts/montserrat-latin-ext-wght-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: italic; font-display: swap; font-weight: 100 900;
	src: url("../fonts/montserrat-latin-wght-italic.woff2") format("woff2-variations"), url("../fonts/montserrat-latin-wght-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--cd-tlo, #fff);
	color: var(--cd-tekst, #515151);
	font-family: var(--cd-czcionka, "Montserrat", sans-serif);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--cd-akcent, #17706a); text-decoration: none; }
a:hover, a:focus { color: var(--cd-akcent-ciemny, #0f524d); text-decoration: underline; }
h1, h2, h3, h4, h5, h6 { color: var(--cd-naglowki, #333); font-family: var(--cd-czcionka); font-weight: 600; line-height: 1.3; margin: 0 0 .6em; }
h1 { font-size: 30px; } h2 { font-size: 26px; } h3 { font-size: 22px; } h4 { font-size: 18px; }
p { margin: 0 0 1.2em; }
ul, ol { margin: 0 0 1.2em; padding-left: 1.4em; }
blockquote { margin: 0 0 1.2em; padding: 0; border: 0; font-style: italic; }
table { border-collapse: collapse; width: 100%; }
input, select, textarea, button { font: inherit; }

.cd-skip-link { position: absolute; left: -9999px; top: 0; z-index: 100000; background: #fff; padding: 8px 12px; }
.cd-skip-link:focus { left: 8px; top: 8px; }
.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; }

.cd-container { width: 100%; max-width: var(--cd-szerokosc, 1080px); margin: 0 auto; padding: 0 20px; }
.cd-main { display: block; }
.cd-strona, .cd-archiwum, .cd-index, .cd-404 { padding: 40px 0 60px; }
.cd-tytul { margin-bottom: 24px; }
.cd-tresc > *:last-child { margin-bottom: 0; }
.cd-tresc .alignleft { float: left; margin: 0 1.5em 1em 0; }
.cd-tresc .alignright { float: right; margin: 0 0 1em 1.5em; }
.cd-tresc .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.cd-tresc .wp-caption-text { font-size: 14px; color: #777; }
.cd-archiwum-opis { margin-bottom: 24px; }
.cd-404-kategorie { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cd-404-kategorie li a { display: inline-block; padding: 6px 14px; border: 1px solid var(--cd-ramka, #e1e1e1); border-radius: 20px; }
.cd-404-szukaj { margin: 20px 0; max-width: 560px; }
.cd-naglowek-zapas, .cd-stopka-zapas { padding: 16px 0; }
.cd-stopka-zapas { background: var(--cd-akcent, #17706a); color: #fff; }
.cd-stopka-zapas a { color: #fff; }

@media (max-width: 980px) {
	h1 { font-size: 26px; } h2 { font-size: 22px; } h3 { font-size: 19px; }
	.cd-strona, .cd-archiwum, .cd-index, .cd-404 { padding: 24px 0 40px; }
}

/* ===== z divi-child 1.7.1: siatka wpisow i paginacja ===== */
/* --- WYNIKI WYSZUKIWANIA BLOGA (DLA DIVI) --- */

/* Reset dla kontenera, żeby Grid działał wewnątrz Divi */
.lunaria-blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Responsywna siatka */
    gap: 30px;
    margin-top: 30px;
    margin-bottom: 40px;
}

/* Karta wpisu */
article.lunaria-blog-card {
    background: #fff;
    border: 1px solid #e1e1e1; /* Kolor ramek Divi */
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important; /* Divi czasem dodaje padding */
    margin-bottom: 0 !important; /* Divi dodaje duży margin-bottom do art, resetujemy to dla grida */
}

/* Obrazek */
.lunaria-blog-thumb {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.lunaria-blog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.lunaria-blog-card:hover .lunaria-blog-thumb img {
    transform: scale(1.05);
}

/* Treść */
.lunaria-blog-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.lunaria-blog-content .entry-title {
    font-size: 18px !important; /* Wymuszenie nad style Divi */
    line-height: 1.3em;
    margin-bottom: 10px;
    font-weight: 600;
}

.lunaria-blog-content .entry-title a {
    color: #333;
    text-decoration: none;
}

.lunaria-blog-content .post-meta {
    font-size: 12px;
    color: #888;
    margin-bottom: 10px;
}

.lunaria-blog-content .entry-excerpt p {
    font-size: 14px;
    line-height: 1.6em;
    color: #555;
    margin-bottom: 15px;
}

/* Przycisk czytaj dalej */
.lunaria-read-more {
    margin-top: auto; /* Dopycha przycisk do dołu karty */
    color: var(--lunaria-primary, #8e44ad);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
}

/* --- PAGINACJA WYNIKÓW WYSZUKIWANIA --- */
.lunaria-pagination {
    margin-top: 50px;
    display: flex;
    justify-content: center;
}

.lunaria-pagination .nav-links {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.lunaria-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 4px; /* Lekkie zaokrąglenie */
    background: #fff;
    color: #555;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

/* Aktywna strona */
.lunaria-pagination .page-numbers.current {
    background: var(--lunaria-primary); /* Twój fiolet */
    border-color: var(--lunaria-primary);
    color: #fff;
    cursor: default;
}

/* Hover na linki */
.lunaria-pagination a.page-numbers:hover {
    border-color: var(--lunaria-primary);
    color: var(--lunaria-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Strzałki (Prev/Next) */
.lunaria-pagination .prev.page-numbers,
.lunaria-pagination .next.page-numbers {
    font-size: 16px;
    border: none;
    background: transparent;
}

.lunaria-pagination .prev.page-numbers:hover,
.lunaria-pagination .next.page-numbers:hover {
    background: #f0f0f0;
    transform: none;
    box-shadow: none;
    color: var(--lunaria-primary);
}

/* Kropki (...) */
.lunaria-pagination .dots {
    border: none;
    background: transparent;
    cursor: default;
}

/* ===== z divi-child 1.7.1: wrapper pelnej szerokosci ===== */
/* Nasz wrapper — pełna szerokość, bez paddingów */
#czd-fullwidth-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}
/* ===== z divi-child 1.7.1: wyniki wyszukiwania ===== */
/* =====================================================================
   WYNIKI WYSZUKIWANIA — DWIE SEKCJE (od 1.6.0)
   Strona: search.php → Produkty + Artykuły, każda z licznikiem i linkiem "więcej".
   Decyzja UX: główny ruch mobile + starsi userzy. Jedno pole, pełna strona,
   przewidywalność > "magia" dropdownu.
   ===================================================================== */

/* Dedykowany wrapper strony wyników wyszukiwania (od 1.6.1).
   Nie współdzielony z .czd-fullwidth-wrap z page-fullwidth.php — tam pełna szerokość
   jest celowa (landingi). Tu wyniki muszą być czytelne, więc constraint do 1100 px,
   marginesy autocenter, przyzwoity padding boczny dla mobile.
   Klasa .czd-search-results zostaje jako alias dla wstecznej kompatybilności
   z poprzednim wrapperem (na wszelki wypadek). */
.czd-search-wrap,
.czd-search-results {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding: 36px 24px 64px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .czd-search-wrap,
    .czd-search-results {
        padding: 24px 16px 48px;
    }
}

.lunaria-search-results-header {
    margin: 0 0 30px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.lunaria-search-results-header .entry-title {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
}

.czd-search-q {
    color: var(--lunaria-primary);
    font-style: italic;
    font-weight: 700;
}

/* Wspólny kontener sekcji (Produkty / Artykuły) */
.lunaria-results-section {
    margin: 0 0 50px 0;
}

.lunaria-results-section:last-child {
    margin-bottom: 20px;
}

.lunaria-results-heading {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 20px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--lunaria-primary);
    color: #333;
}

.lunaria-results-count {
    color: #888;
    font-weight: 400;
    font-size: 16px;
}

.lunaria-results-more {
    margin: 24px 0 0 0;
    text-align: center;
}

.lunaria-results-more-link {
    display: inline-block;
    padding: 10px 22px;
    background: #f5f3f9;
    color: var(--lunaria-primary);
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s, color 0.2s;
}

.lunaria-results-more-link:hover,
.lunaria-results-more-link:focus {
    background: var(--lunaria-primary);
    color: #fff;
}

/* --- SIATKA PRODUKTÓW (na stronie wyników) --- */
.lunaria-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

@media (max-width: 480px) {
    /* Na małym mobile 2 kolumny - karty produktów lepiej działają w siatce niż w jednej kolumnie. */
    .lunaria-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
}

.lunaria-product-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
}

.lunaria-product-card:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.lunaria-product-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.lunaria-product-link:hover,
.lunaria-product-link:focus {
    color: inherit;
}

.lunaria-product-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f5f5;
}

.lunaria-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.lunaria-product-card:hover .lunaria-product-thumb img {
    transform: scale(1.04);
}

.lunaria-product-thumb-empty {
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
}

.lunaria-product-meta {
    padding: 12px 14px 16px;
}

.lunaria-product-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px 0;
    line-height: 1.3;
    color: #333;
    /* dwie linie max, potem ... */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lunaria-product-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--lunaria-primary);
}

.lunaria-product-price del {
    color: #999;
    font-weight: 400;
    margin-right: 6px;
}

.lunaria-product-price ins {
    background: none;
    text-decoration: none;
}

/* --- FALLBACK: pusta fraza / zero wyników --- */
.lunaria-empty-query,
.lunaria-empty-results {
    padding: 40px 20px;
    text-align: center;
    background: #faf9fc;
    border-radius: 6px;
    color: #555;
    font-size: 16px;
    line-height: 1.5;
}

.lunaria-empty-query em,
.lunaria-empty-results em {
    color: var(--lunaria-primary);
    font-style: normal;
    font-weight: 600;
}

.lunaria-no-results {
    padding: 20px 0;
    color: #666;
    font-size: 15px;
}

/* --- Drobne usprawnienia istniejących artykułów na stronie wyników --- */
.lunaria-results-posts .lunaria-blog-grid {
    /* Zerowanie marginesu top - bo nagłówek H2 dał własny odstęp */
    margin-top: 0;
}

@media (max-width: 768px) {
    .lunaria-search-results-header .entry-title {
        font-size: 20px;
    }
    .lunaria-results-heading {
        font-size: 18px;
    }
}

