/*
Theme Name: GlivEstetic
Author: Coolbrand
Author URI:
Description: Motyw autorski dla kliniki medycyny estetycznej GlivEstetic.
Version: 1.1
License: private
Text Domain: glivestetic
Tags: medical, custom-menu, custom-logo, translation-ready
*/

/* === Lokalne fonty (jeśli pliki istnieją w /fonts/) === */
/* Wymagane pliki opisuje fonts/README.md */
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto/Roboto-300.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto/Roboto-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto/Roboto-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto/Roboto-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/Lato/Lato-300.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/Lato/Lato-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/Lato/Lato-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url('fonts/Lora/Lora-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url('fonts/Lora/Lora-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}

.box-seo h2 { font-size: 1.5rem; }
.box-seo h3 { font-size: 1.2rem; }

.slider .slide__inside--3 .slide__black-title { color: #fff; line-height: 1.2; font-size: 6rem; }
@media (max-width: 991px) { .slider .slide__inside--3 .slide__black-title { font-size: 30px; } }
@media (max-width: 767px) { .slider .slide__inside--3 .slide__black-title { font-size: 25px; } }
.slider .slide__inside--2 .slide__wrapper h2 { font-weight: 100; margin-bottom: 20px; line-height: 1.2; }
@media (max-width: 991px) { .slider .slide__inside--2 .slide__wrapper h2 { font-size: 30px; } }
@media (max-width: 767px) { .slider .slide__inside--2 .slide__wrapper h2 { font-size: 25px; } }

.opinions__prev, .opinions__next { background: transparent; border: 0; color: inherit; font-size: inherit; padding: 0; cursor: pointer; }
.swiper-button-prev, .swiper-button-next { background-color: transparent; border: 0; }

.blogpage__search-title { margin-bottom: 50px; }
.blogpage__empty { text-align: center; padding: 60px 0; }

.article__right h2 a, .homeblog__title a, .latestpost h3 a { color: inherit; }
.article__right h2 a:hover, .homeblog__title a:hover { color: #755b49; }

.hero--img { position: relative; padding: 0; aspect-ratio: 16/7.6; overflow: hidden; margin-bottom: 55px; }
@media (max-width: 767px) { .hero--img { margin-bottom: 20px; aspect-ratio: 16/10; } }
.hero--img .hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
.subpage .hero--img { padding-bottom: 0; }

.hero.hero--offer .hero__img--bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
.hero.hero--offer .banertext { position: relative; z-index: 2; }
.hero.hero--offer::before { z-index: 1; }

.person__photo { overflow: hidden; }
.person__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.team__image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }
.offer-specialists__photo { overflow: hidden; }
.offer-specialists__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.footer .footer__heading { color: #fff; font-size: 20px; position: relative; margin-bottom: 29px; line-height: 1.2; font-weight: 700; }
.footer .footer__heading::after { content: ""; left: 37px; right: 0; position: absolute; height: 2px; background: #fff; bottom: -12px; }
.footer .footer__heading span { display: block; width: 8px; height: 8px; border-radius: 100%; background-color: #e6d1cb; margin: 0 12px; position: absolute; bottom: -16px; left: 0; right: 0; }
.footer .footer__heading span::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 100%; background-color: #755b49; position: absolute; left: -12px; }
.footer .footer__heading span::after { content: ""; display: block; width: 8px; height: 8px; border-radius: 100%; background-color: #fff; position: absolute; right: -12px; }

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    background-color: #fff;
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #000;
    display: block;
    font-size: 1rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 12px 18px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.skip-link:focus {
    position: fixed;
    left: 12px;
    top: 12px;
    width: auto;
    height: auto;
    background: #755b49;
    color: #fff;
    padding: 12px 18px;
    z-index: 100000;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
    outline: 2px solid #fff;
    outline-offset: 2px;
}

:focus-visible {
    outline: 2px solid #755b49;
    outline-offset: 2px;
}
.button:focus-visible,
.search-submit:focus-visible,
.button--brownradius:focus-visible,
.button--brown:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -6px;
    box-shadow: 0 0 0 4px #755b49;
}

#main:focus { outline: none; }

.header__burger {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.header__burger:focus-visible {
    outline: 2px solid #755b49;
    outline-offset: 2px;
}

.searchpopup__close {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}
.searchpopup[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Footer: padding to replace removed <br> tags */
.footer__columns { padding-bottom: 60px; }

/* Homepage H1 section — cream bg, 3-sided white border box (top/left/right) */
.homepage-h1 {
    background-color: #e6d1cb;
    padding: 30px 0 0;
    text-align: center;
}
.homepage-h1__box {
    display: block;
    border: 2px solid #fff;
    padding: 30px 60px 24px;
}
@media (max-width: 767px) {
    .homepage-h1__box { padding: 20px 30px 16px; }
}
.homepage-h1__title {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-size: 6rem;
    line-height: 1.2;
    color: #000;
    margin: 0;
}
@media (max-width: 991px) {
    .homepage-h1__title { font-size: 4.5rem; }
}
@media (max-width: 767px) {
    .homepage-h1__title { font-size: 3.5rem; }
}

/* Offer section header (homepage) — alias from .team__header */
.offer__header { text-align: center; margin-bottom: 64px; }
