/* wh_storeinfo — front.css. Kolory/fonty WYLACZNIE tokeny var(--wh-*) (fallback = standalone). */

.wh-storeinfo__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 0;
    margin: 0 0 max(1.6rem, 16px);
    border: none;
    background: none;
    text-align: left;
    cursor: default;
    font-family: var(--wh-font-heading, inherit);
    font-size: var(--wh-font-size-base, 14px);
    font-weight: var(--wh-font-weight-semibold, 600);
    color: var(--wh-color-text-primary, #222);
}
.wh-storeinfo__chevron { display: none; flex-shrink: 0; transition: transform .25s ease; }

.wh-storeinfo__desc {
    margin: 0 0 max(1.6rem, 16px);
    font-family: var(--wh-font-body, inherit);
    font-size: var(--wh-font-size-small, 12px);
    color: var(--wh-color-text-muted, #6b6b6b);
    line-height: 1.7;
}

/* Kontakty (ikona + wartosc) */
.wh-storeinfo__contacts { list-style: none; margin: 0 0 max(1.6rem, 16px); padding: 0; }
.wh-storeinfo__contact {
    display: flex; align-items: center; gap: max(1rem, 10px);
    margin-bottom: max(1.2rem, 12px);
    font-size: var(--wh-font-size-small, 12px);
    color: var(--wh-color-text-muted, #6b6b6b);
}
.wh-storeinfo__contact:last-child { margin-bottom: 0; }
.wh-storeinfo__contact-icon { color: var(--wh-color-accent, #9e8264); flex-shrink: 0; }
.wh-storeinfo__contact a {
    color: var(--wh-color-text-muted, #6b6b6b);
    text-decoration: none;
    transition: color .15s ease;
}
.wh-storeinfo__contact a:hover { color: var(--wh-color-accent, #9e8264); }

/* Godziny otwarcia — ikona zegara + lista wierszy.
   Ikona wyrownana do PIERWSZEGO wiersza (align-items: flex-start), bo blok bywa
   wielolinijkowy; przy `center` zegar zjezdzalby na srodek listy. */
.wh-storeinfo__hours {
    display: flex; align-items: flex-start; gap: max(1rem, 10px);
    margin: 0 0 max(1.6rem, 16px);
    font-size: var(--wh-font-size-small, 12px);
    color: var(--wh-color-text-muted, #6b6b6b);
}
.wh-storeinfo__hours .wh-storeinfo__contact-icon { margin-top: max(0.2rem, 2px); }
.wh-storeinfo__hours-list { list-style: none; margin: 0; padding: 0; }
.wh-storeinfo__hours-line { margin-bottom: max(0.4rem, 4px); }
.wh-storeinfo__hours-line:last-child { margin-bottom: 0; }

/* Social — kolka z ikonami */
.wh-storeinfo__socials { list-style: none; margin: 0; padding: 0; display: flex; gap: max(1.2rem, 12px); }
.wh-storeinfo__social {
    display: inline-flex; align-items: center; justify-content: center;
    width: max(3.4rem, 34px); height: max(3.4rem, 34px);
    border: 1.5px solid var(--wh-color-accent, #9e8264);
    border-radius: 50%;
    color: var(--wh-color-accent, #9e8264);
    transition: background .15s ease, color .15s ease;
}
.wh-storeinfo__social svg { width: 100%; height: 100%; display: block; }
.wh-storeinfo__social:hover {
    background: var(--wh-color-accent, #9e8264);
    color: var(--wh-color-white, #fff);
}

/* =========================================================================
   Element 2 - "Dane kontaktowe" (strona kontakt). Wyglad wg bloku
   ps_contactinfo z projektu Fashion (kolko z ikona, etykieta, wartosc muted),
   ale na wlasnych klasach - blok dziala tak samo poza tym motywem.
   ========================================================================= */
.wh-storeinfo-contact__title {
    margin: 0 0 max(3.2rem, 20px);
    font-family: var(--wh-font-heading, inherit);
    font-size: var(--wh-font-size-h3, 2.2rem);
    font-weight: var(--wh-font-weight-semibold, 600);
    line-height: 1.4;
    color: var(--wh-color-text-primary, #40362e);
}
.wh-storeinfo-contact__item {
    display: flex;
    align-items: flex-start;
    gap: var(--wh-space-md, 1.6rem);
    /* 30px odstepu w pionie miedzy wierszami (decyzja Alexa 2026-08-12) */
    padding: 0 0 max(3rem, 30px);
}
/* :last-of-type, nie :last-child - ostatnim dzieckiem kontenera jest teraz
   lista socialí (ul), wiec :last-child przestal lapac ostatni wiersz danych */
.wh-storeinfo-contact__item:last-of-type { padding-bottom: 0; }
.wh-storeinfo-contact__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max(4.8rem, 40px);
    height: max(4.8rem, 40px);
    border: 1px solid var(--wh-color-border-subtle, #e4e0da);
    border-radius: 50%;
    color: var(--wh-color-accent, #9e8264);
    transition: background-color var(--wh-duration-fast, 150ms) ease,
                border-color var(--wh-duration-fast, 150ms) ease,
                color var(--wh-duration-fast, 150ms) ease;
}
.wh-storeinfo-contact__glyph { width: max(1.8rem, 16px); height: max(1.8rem, 16px); }
.wh-storeinfo-contact__item:hover .wh-storeinfo-contact__icon {
    background: var(--wh-color-accent, #9e8264);
    border-color: var(--wh-color-accent, #9e8264);
    color: var(--wh-color-text-inverse, #fff);
}
.wh-storeinfo-contact__info { min-width: 0; }
.wh-storeinfo-contact__label {
    display: block;
    margin-bottom: var(--wh-space-xs, .4rem);
    font-size: var(--wh-font-size-body, 14px);
    font-weight: var(--wh-font-weight-medium, 500);
    color: var(--wh-color-text-primary, #40362e);
}
.wh-storeinfo-contact__info a,
.wh-storeinfo-contact__address {
    margin: 0;
    font-style: normal;
    font-size: var(--wh-font-size-body, 14px);
    line-height: 1.6;
    color: var(--wh-color-text-muted, #908981);
    text-decoration: none;
}
.wh-storeinfo-contact__info a:hover { color: var(--wh-color-accent, #9e8264); }
/* Wiele numerow pod jedna etykieta - kazdy w osobnej linii */
.wh-storeinfo-contact__phone { display: block; }

/* Social media - kolka z borderem w kolorze akcentu, gap 20px (decyzja Alexa) */
.wh-storeinfo-contact__socials {
    list-style: none;
    /* 40px od danych kontaktowych (decyzja Alexa 2026-08-12) */
    margin: max(4rem, 40px) 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: max(2rem, 20px);
}
.wh-storeinfo-contact__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max(3.6rem, 32px);
    height: max(3.6rem, 32px);
    border: 1.5px solid var(--wh-color-accent, #9e8264);
    border-radius: 50%;
    color: var(--wh-color-accent, #9e8264);
    transition: background-color var(--wh-duration-fast, 150ms) ease,
                color var(--wh-duration-fast, 150ms) ease;
}
.wh-storeinfo-contact__social:hover {
    background: var(--wh-color-accent, #9e8264);
    color: var(--wh-color-text-inverse, #fff);
}

/* Mobile: collapse jak wh_linklist */
@media (max-width: 767.98px) {
    .wh-storeinfo__title { cursor: pointer; margin-bottom: 0; padding: max(1.2rem, 12px) 0; }
    .wh-storeinfo__chevron { display: block; }
    .wh-storeinfo__title[aria-expanded="true"] .wh-storeinfo__chevron { transform: rotate(180deg); }
    /* wysokosc animuje JS (inline max-height = realny scrollHeight — plynnie) */
    .wh-storeinfo__body { overflow: hidden; max-height: 0; transition: max-height .35s ease, padding-bottom .35s ease; }
    .wh-storeinfo--open .wh-storeinfo__body { padding-bottom: max(1.2rem, 12px); }
    .wh-storeinfo { border-bottom: 1px solid var(--wh-color-border-subtle, #e4e0da); }
}
