/* ==========================================================
   01. ZMIENNE I KOLORY
   ========================================================== */

:root {
    --green:#649e3e;
    --green2:#649e3e;
    --lime:#649e3e;
    --ink:#10251c;
    --cream:#f7faef;
    --line:#dcebd7;
    --white:#fff
}

/* ==========================================================
   02. USTAWIENIA GLOBALNE
   ========================================================== */

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.55
}

a {
    color:inherit
}

.wrap {
    width:min(1180px,92%);
    margin:auto
}

/* ==========================================================
   03. NAGŁÓWEK I MENU
   ========================================================== */

.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:#fff;
    border-bottom:1px solid #edf1e8
}

.nav {
    min-height:78px;
    display:flex;
    align-items:center;
    gap:15px
}

.logo {
    width:220px;
    height:70px;
    object-fit:contain
}

.nav nav {
    display:flex;
    gap:20px;
    margin-left:auto
}

.nav nav a {
    text-decoration:none;
    font-size:14px;
    font-weight:700
}

.nav nav a:hover {
    color:var(--green2)
}

/* ==========================================================
   06. PRZYCISKI
   ========================================================== */

.btn {
    display:inline-block;
    background:var(--green);
    color:#10251c;
    text-decoration:none;
    border:0;
    border-radius:7px;
    padding:13px 20px;
    font-weight:700;
    cursor:pointer
}

.btn.alt {
    background:#fff;
    color:var(--green);
    border:1px solid var(--green)
}

.menu {
    display:none;
    margin-left:auto;
    border:0;
    background:none;
    font-size:28px
}

/* ==========================================================
   04. SLIDER
   ========================================================== */

.slider {
    position:relative;
    height:510px;
    overflow:hidden;
    background:#e8efe2
}

.slide {
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .65s ease
}

.slide.active {
    opacity:1;
    z-index:1
}

.slide img {
    width:100%;
    height:100%;
    object-fit:cover
}

.slide:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.76) 28%,rgba(255,255,255,.12) 58%,rgba(0,0,0,.04) 100%)
}

.slide-copy {
    position:absolute;
    z-index:2;
    left:max(4%,calc((100% - 1180px)/2));
    top:50%;
    transform:translateY(-50%);
    width:min(520px,46%)
}

.slide-copy small {
    font-weight:800;
    letter-spacing:.15em;
    color:var(--green2)
}

.slide-copy h1 {
    font-size:48px;
    line-height:1.05;
    margin:12px 0
}

.slide-copy h1 em {
    font-style:normal;
    color:var(--green2)
}

.slide-copy p {
    font-size:18px
}

.slider-arrow {
    position:absolute;
    z-index:5;
    top:48%;
    width:46px;
    height:46px;
    border-radius:50%;
    border:0;
    background:rgba(255,255,255,.9);
    font-size:34px;
    color:var(--green);
    cursor:pointer
}

.prev {
    left:20px
}

.next {
    right:20px
}

.dots {
    position:absolute;
    z-index:5;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    display:flex;
    gap:8px
}

.dot {
    width:11px;
    height:11px;
    border-radius:50%;
    border:1px solid #fff;
    background:rgba(255,255,255,.55);
    cursor:pointer
}

.dot.active {
    background:#649e3e
}

.service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    margin-top:-20px;
    position:relative;
    z-index:10
}

.service {
    background:#fff;
    padding:28px 22px;
    text-align:center
}

.section {
    padding:72px 0
}

.section.soft {
    background:linear-gradient(135deg,#fbfdf7,#edf6e6)
}

.two {
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:55px;
    align-items:center
}

.two img {
    width:55%;
    border-radius:16px
}

.eyebrow {
    color:var(--green2);
    font-weight:800;
    letter-spacing:.12em;
    font-size:13px
}

.section h2,/* ==========================================================
   07. PODSTRONY I TREŚĆ
   ========================================================== */

.page-hero h1 {
    font-size:38px;
    line-height:1.1;
    margin:8px 0 18px
}

.section h2 em {
    font-style:normal;
    color:var(--green2)
}

/* ==========================================================
   05. KAFLE I USŁUGI
   ========================================================== */

.feature-grid,.article-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.card {
    border:1px solid var(--line);
    border-radius:14px;
    padding:24px;
    background:#fff;
    box-shadow:0 10px 30px rgba(19,74,46,.06)
}

.card h3 {
    margin-top:4px
}

.card a {
    color:var(--green);
    font-weight:800
}


/* ==========================================================
   KAFLE BAZY WIEDZY - PIONOWE WIZUALIZACJE ZDJĘCIOWE
   ========================================================== */

.knowledge-card {
    position:relative;
    min-height:390px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    border:0;
    background-position:center;
    background-size:cover;
    color:#ffffff;
}

.knowledge-card::before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(20, 35, 25, 0.08) 20%,
        rgba(20, 35, 25, 0.82) 100%
    );
}

.knowledge-card > * {
    position:relative;
    z-index:1;
}

.knowledge-card h3,
.knowledge-card p {
    color:#ffffff;
}

.knowledge-card a {
    color:#ffffff;
}

.knowledge-card--cannabinoids {
    background-image:url("../images/knowledge/medyczna-marihuana.webp");
}

.knowledge-card--qualification {
    background-image:url("../images/knowledge/kwalifikacja.webp");
}

.knowledge-card--pain {
    background-image:url("../images/knowledge/bol-przewlekly.webp");
}

.band {
    background:#d9d9d9;
    color:#000000;
    padding:48px 0
}

.steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}

.steps span {
    display:flex;
    align-items:center;
    gap:12px
}

.steps b {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff;
    color:#10251c
}

.page-hero {
    padding:60px 0;
    background:linear-gradient(120deg,#f7fbf1,#e6f2df);
    border-bottom:1px solid var(--line)
}

.article {
    max-width:820px
}

.article h2 {
    margin-top:34px
}

.notice {
    padding:16px 18px;
    border-left:4px solid var(--green2);
    background:#f3f8ee;
    border-radius:4px
}

.price-row {
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding:17px 0
}

.contact-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px
}

.form {
    display:grid;
    gap:12px
}

.form input,.form textarea {
    font:inherit;
    padding:13px;
    border:1px solid #ccd8c7;
    border-radius:7px
}

.form textarea {
    min-height:130px
}

/* ==========================================================
   08. STOPKA
   ========================================================== */

.footer {
    padding:28px 0;
    background:#10251c;
    color:#dbe9df;
    font-size:14px
}

.footer .wrap {
    display:flex;
    justify-content:space-between;
    gap:20px
}

.breadcrumbs {
    font-size:13px;
    color:#597268
}

.lead {
    font-size:18px
}

.source {
    font-size:13px;
    color:#61736a;
    border-top:1px solid var(--line);
    padding-top:16px
}

.location {
    font-size:21px;
    font-weight:800;
    color:var(--green)
}

/* ==========================================================
   09. RESPONSYWNOŚĆ
   ========================================================== */

@media(max-width:850px) {
    .nav {
        flex-wrap:wrap;
        padding:10px 0
    }

    .logo {
        width:125px;
        height:56px
    }

    .menu {
        display:block
    }

    .nav>.btn {
        display:none
    }

    .nav nav {
        display:none;
        order:3;
        width:100%;
        flex-direction:column;
        padding:10px 0
    }

    .nav nav.show {
        display:flex
    }

    .slider {
        height:520px
    }

    .slide-copy {
        left:6%;
        width:82%
    }

    .slide-copy h1 {
        font-size:38px
    }

    .slide:after {
        background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.55))
    }

    .service-grid {
        grid-template-columns:1fr 1fr
    }

    .two,.contact-grid {
        grid-template-columns:1fr
    }

    .feature-grid,.article-grid {
        grid-template-columns:1fr
    }

    .steps {
        grid-template-columns:1fr 1fr
    }

    .footer .wrap {
        flex-direction:column
    }

}

.logo {
    width:220px;
    height:70px;
    object-fit:contain;
    object-position:left center
}

.btn {
    background:#649e3e;
    color:#fff
}

.dot.active {
    background:#649e3e
}

.footer {
    background:#f7f9f5;
    color:#314238;
    border-top:1px solid #dfe8da
}

.footer-brand {
    height:58px;
    width:285px;
    object-fit:contain;
    object-position:left center
}

.footer .wrap {
    align-items:center
}

.footer-copy {
    display:flex;
    flex-direction:column;
    gap:4px
}

@media(max-width:850px) {
    .logo {
        width:220px;
        height:58px
    }

    .footer-brand {
        width:230px;
        height:52px
    }

}

.account-actions {
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:4px
}

.login-link {
    text-decoration:none;
    font-weight:800;
    color:var(--ink);
    padding:10px 6px
}

.login-link:hover {
    color:var(--green)
}

.register-btn {
    white-space:nowrap
}

.service {
    display:block;
    text-decoration:none;
    color:var(--ink);
    transition:background .22s ease,color .22s ease,transform .22s ease
}

.service h3,.service p {
    transition:color .22s ease
}

.service span {
    display:inline-block;
    margin-top:8px;
    font-size:13px;
    font-weight:800;
    color:var(--green);
    opacity:.82
}

.service:hover,.service:focus-visible {
    background:#649e3e;
    color:#fff;
    outline:none
}

.service:hover h3,.service:hover p,.service:hover span,.service:focus-visible h3,.service:focus-visible p,.service:focus-visible span {
    color:#fff
}

.service:hover {
    transform:translateY(-2px)
}

.service-details {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px
}

.service-detail {
    scroll-margin-top:105px
}

.service-detail h2 {
    font-size:28px
}

.text-link {
    color:var(--green);
    font-weight:800;
    text-decoration:none
}

.footer {
    padding:52px 0 0;
    background:#f7f9f5;
    color:#314238
}

.footer-grid {
    display:grid!important;
    grid-template-columns:1.25fr 1fr 1.15fr 1.2fr;
    align-items:start!important;
    gap:46px!important
}

.footer-about p {
    max-width:300px
}

.footer-col {
    display:flex;
    flex-direction:column;
    gap:9px
}

.footer-col h3 {
    margin:4px 0 8px;
    color:#173521;
    font-size:16px
}

.footer-col a {
    text-decoration:none;
    color:#4b5e51
}

.footer-col a:hover {
    color:var(--green)
}

.footer-bottom {
    margin-top:34px;
    padding:18px 0;
    border-top:1px solid #dfe8da;
    font-size:13px
}

.auth-wrap {
    max-width:620px
}

.auth-card {
    display:grid;
    gap:14px
}

.auth-card label {
    display:grid;
    gap:6px;
    font-weight:700
}

.auth-card input {
    font:inherit;
    padding:13px;
    border:1px solid #ccd8c7;
    border-radius:7px
}

.auth-card .btn {
    justify-self:start
}

@media(max-width:1050px) {
    .nav nav {
        gap:12px
    }

    .nav nav a {
        font-size:13px
    }

    .account-actions {
        gap:7px
    }

    .register-btn {
        padding:11px 14px
    }

    .footer-grid {
        grid-template-columns:1fr 1fr
    }

}

@media(max-width:850px) {
    .account-actions {
        margin-left:auto
    }

    .nav nav {
        order:4
    }

    .service-details {
        grid-template-columns:1fr
    }

    .footer-grid {
        grid-template-columns:1fr!important;
        gap:26px!important
    }

    .footer-about p {
        max-width:none
    }

    .footer-bottom {
        margin-top:24px
    }

    .login-link {
        font-size:14px
    }

    .register-btn {
        font-size:14px;
        padding:10px 12px
    }

}

@media(max-width:520px) {
    .logo {
        width:190px
    }

    .account-actions {
        width:100%;
        justify-content:flex-end
    }

    .service-grid {
        grid-template-columns:1fr
    }

    .slider {
        height:560px
    }

    .slide-copy {
        width:86%
    }

}

/* ==========================================================
   KOREKTA LOGO NAGŁÓWKA - STAŁA SZEROKOŚĆ 220 PX
   ========================================================== */


.brand-link {
    display: block;
    flex: 0 0 270px;
    width: 270px;
    max-width: 270px;
}

.site-header .brand-link .logo {
    display: block;
    width: 270px !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

@media (max-width: 850px) {
    .brand-link {
        flex: 0 0 220px;
        width: 220px;
        max-width: 220px;
    }

    .site-header .brand-link .logo {
        width: 220px !important;
    }
}

    .brand-link .logo {
        width: 220px !important;
        max-width: 220px !important;
        height: auto !important;
    }
}



/* ==========================================================
   JAK WYGLĄDA WIZYTA - WIZUALIZACJE PROCESÓW
   Obrazy zachowują naturalne proporcje 3:2 (900x600).
   ========================================================== */

.visit-step-card {
    position: relative;
    overflow: visible;
    text-align: center;
}

.visit-step-visual {
    position: relative;
    display: block;
    width: 100%;
    max-width: 360px;
    margin: 0 auto 22px;
    overflow: visible;
    padding-bottom: 22px;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.visit-step-visual img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    border: 1px solid #d5e3cc;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transition: filter 0.25s ease;
}

.visit-step-visual:hover img,
.visit-step-visual:focus-visible img {
    filter: brightness(0.84);
}


.visit-step-number {
    position: absolute;
    z-index: 8;
    left: 50%;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    transform: translateX(-50%);
    border: 4px solid #ffffff;
    border-radius: 50%;
    background: #2f7d42;
    color: #ffffff;
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    pointer-events: none;
}

.visit-step-tooltip {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: 16px;
    width: calc(100% - 28px);
    max-width: 310px;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(31, 58, 38, 0.95);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.visit-step-tooltip::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
    border-width: 6px 6px 0;
    border-style: solid;
    border-color: rgba(31, 58, 38, 0.95) transparent transparent;
}

.visit-step-visual:hover .visit-step-tooltip,
.visit-step-visual:focus-visible .visit-step-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

@media (max-width: 760px) {
    .visit-step-visual {
        max-width: 420px;
    }

    .visit-step-tooltip {
        display: none;
    }
}

/* ==========================================================
   GREEN CLINIC V1 - JOOMLA CMS LAYOUT
   ========================================================== */
.site-nav .mod-menu,
.site-nav ul {display:flex;gap:20px;margin:0;padding:0;list-style:none}
.site-nav .mod-menu a,
.site-nav ul a {text-decoration:none;font-size:14px;font-weight:700}
.site-nav .current > a,
.site-nav .active > a {color:var(--green)}
.gc-main {display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding-top:42px;padding-bottom:64px}
.gc-main.has-sidebar {grid-template-columns:minmax(0,1fr) 300px}
.gc-content {min-width:0}
.gc-sidebar {min-width:0}
.gc-position {position:relative}
.gc-home-top {margin-top:-20px;z-index:10}
.gc-above,.gc-home-bottom {width:100%}
.gc-content .item-page img {max-width:100%;height:auto}
.gc-content .page-header h1,.gc-content .page-header h2 {line-height:1.1}
.footer-col .mod-menu,.footer-col ul {display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}
.footer-col .mod-menu a,.footer-col ul a {text-decoration:none}
.footer .moduletable > h3 {margin-top:0}

@media(max-width:850px) {
    .site-nav {display:none;order:3;width:100%}
    .site-nav.show {display:block}
    .site-nav .mod-menu,.site-nav ul {flex-direction:column;padding:10px 0}
    .gc-main.has-sidebar {grid-template-columns:1fr}
    .gc-home-top {margin-top:0}
}

/* GREEN CLINIC PODSTRONY 2.0 — dodatek do main.css */
.gc2-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:6px 0 38px;background:#f4f8f1;border-radius:20px;overflow:hidden;min-height:310px}.gc2-hero-copy{padding:34px 10px 34px 38px}.gc2-hero h1,.gc2-simple h1,.gc2-section h1{font-size:clamp(29px,3vw,40px);line-height:1.16;margin:12px 0 18px;color:#193a29}.gc2-hero p,.gc2-section p,.gc2-simple p{line-height:1.75;color:#41534a}.gc2-hero>img{height:100%;width:100%;min-height:310px;object-fit:cover}.gc2-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:#649e3e}.gc2-section{margin:38px 0 44px}.gc2-section>h2{font-size:26px;color:#193a29;margin:0 0 18px}.gc2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.gc2-card{overflow:hidden;border:1px solid #e1e9df;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(30,60,30,.05)}.gc2-card>img{display:block;width:100%;height:185px;object-fit:cover}.gc2-card-body{padding:22px}.gc2-card h2{font-size:20px;color:#203c2c;margin:0 0 10px}.gc2-card p{font-size:15px;margin:0}.gc2-note{padding:17px 22px;border-left:4px solid #649e3e;background:#f4f8f1;border-radius:0 12px 12px 0;color:#405148}.gc2-simple{padding:18px 0 42px}.gc2-price{border:1px solid #dfe8d9;border-radius:16px;padding:32px;background:#f8faf6}.gc2-price span{font-size:18px;font-weight:700}.gc2-price strong{display:block;font-size:40px;color:#568f38;margin:14px 0}.gc2-price p{margin:0}@media(max-width:850px){.gc2-hero{grid-template-columns:1fr}.gc2-hero-copy{padding:28px}.gc2-hero>img{min-height:220px;max-height:270px}.gc2-grid{grid-template-columns:1fr}.gc2-card>img{height:230px}}


/* GREEN CLINIC – równe karty konsultacji */

.gc2-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.gc2-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
}

.gc2-card img {
    display: block;
    width: 100%;
    height: 190px !important;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
}

.gc2-card-body {
    flex: 1;
    padding: 22px;
}

@media (max-width: 850px) {
    .gc2-grid {
        grid-template-columns: 1fr;
    }

    .gc2-card img {
        height: 230px !important;
    }
}

/* GREEN CLINIC — BAZA WIEDZY 2.0, Joomla com_content category blog */
.gc-kb-hero{margin-bottom:30px}
.gc-kb-intro{margin:0 0 28px}
.gc-kb-intro h2{margin:0 0 10px;font-size:25px;color:#143c2b}
.gc-kb-intro p{max-width:780px;color:#4a5d51;line-height:1.75}
/* Stylujemy tylko stronę kategorii, bez zmiany wyglądu zwykłych artykułów */
.com-content-category-blog .blog-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.com-content-category-blog .blog-item{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e2eae2;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(18,50,33,.05)}
.com-content-category-blog .blog-item .item-content{padding:20px;flex:1}
.com-content-category-blog .blog-item .item-image{margin:0!important;float:none!important;width:100%!important}
.com-content-category-blog .blog-item .item-image img{display:block;width:100%;height:185px;object-fit:cover}
.com-content-category-blog .blog-item h2,.com-content-category-blog .blog-item .item-title{font-size:20px;line-height:1.3;margin:0 0 12px}
.com-content-category-blog .blog-item p{line-height:1.65}
.com-content-category-blog .blog-item .readmore a{color:#528b38;font-weight:700}
@media(max-width:900px){.com-content-category-blog .blog-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.com-content-category-blog .blog-items{grid-template-columns:1fr}}

/* Baza wiedzy – niższy baner */
.gc-kb-hero {
    min-height: 310px !important;
    height: 310px !important;
    overflow: hidden;
}

.gc-kb-hero .gc2-hero-copy {
    padding: 30px !important;
}

.gc-kb-hero img {
    width: 100%;
    height: 310px !important;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 850px) {
    .gc-kb-hero {
        height: auto !important;
        min-height: 0 !important;
    }

    .gc-kb-hero img {
        height: 220px !important;
    }
}

/* GREEN CLINIC – wyrównanie banera Bazy wiedzy */

.gc-kb-hero {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    height: 310px !important;
    min-height: 310px !important;
    overflow: hidden;
    border-radius: 16px;
}

.gc-kb-hero .gc2-hero-copy {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gc-kb-hero > img {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
}

@media (max-width: 850px) {
    .gc-kb-hero {
        grid-template-columns: 1fr;
        height: auto !important;
        min-height: 0 !important;
    }

    .gc-kb-hero .gc2-hero-copy {
        height: auto;
    }

    .gc-kb-hero > img {
        height: 220px !important;
    }
}

/* GREEN CLINIC – Jak wygląda wizyta */

.gc-visit-page {
    width: 100%;
}

.gc-visit-header {
    background: #f3f7f0;
    border-radius: 16px;
    padding: 34px 30px;
    margin-bottom: 24px;
}

.gc-visit-header h1 {
    color: #103d2a;
    font-size: 32px;
    margin: 12px 0;
}

.gc-visit-header p {
    margin: 0;
    line-height: 1.7;
}

.gc-visit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.gc-visit-card {
    background: #fff;
    border: 1px solid #e2e9df;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(20, 60, 35, 0.05);
}

.gc-visit-card > img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.gc-visit-card-body {
    padding: 22px;
}

.gc-visit-number {
    display: inline-block;
    color: #649e3e;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}

.gc-visit-card h2 {
    color: #103d2a;
    font-size: 21px;
    margin: 0 0 12px;
}

.gc-visit-card p {
    margin: 0;
    line-height: 1.7;
}

.gc-visit-note {
    background: #f3f7f0;
    border-left: 3px solid #649e3e;
    border-radius: 0 10px 10px 0;
    padding: 18px 22px;
    margin-top: 24px;
    line-height: 1.7;
}

@media (max-width: 850px) {
    .gc-visit-grid {
        grid-template-columns: 1fr;
    }

    .gc-visit-header {
        padding: 26px 22px;
    }

    .gc-visit-header h1 {
        font-size: 27px;
    }

    .gc-visit-card > img {
        height: 220px;
    }
}

/* GREEN CLINIC – FOOTER */

.gc-footer {
    background: #103d2a;
    color: #d5e3d9;
    padding: 52px 0 0;
    margin-top: 55px;
}

.gc-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 65px;
    padding-bottom: 42px;
}

.gc-footer .footer-brand {
    display: block;
    width: 210px;
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.gc-footer p {
    color: #d5e3d9;
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 12px;
}

.gc-footer h3 {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 22px;
}

.gc-footer a {
    color: #d5e3d9;
    text-decoration: none;
    transition: color .2s;
}

.gc-footer a:hover {
    color: #a8d47e;
}

.gc-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gc-footer li {
    margin-bottom: 12px;
    font-size: 14px;
}

.gc-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.15);
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 12px;
    color: #b8cfc0;
}

.gc-footer-legal ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.gc-footer-legal li {
    margin: 0;
    font-size: 12px;
}

@media (max-width: 850px) {
    .gc-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .gc-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .gc-footer {
        padding-top: 35px;
    }
}

/* =========================================
   GREEN CLINIC – POPRAWKI LOGO I FOOTERA
   ========================================= */

/* Większe logo w nagłówku */
.site-header .logo {
    width: 235px !important;
    max-width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
}

/* Większe logo w stopce */
.gc-footer .footer-brand {
    width: 255px !important;
    max-width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
    margin-bottom: 20px;
}

/* Wyrównanie kolumn stopki */
.gc-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 55px;
    align-items: start;
}

/* Naprawa poziomego menu Joomla w stopce */
.gc-footer .gc-footer-col ul,
.gc-footer .gc-footer-col ul.mod-menu,
.gc-footer .gc-footer-col .mod-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: 100%;
    gap: 10px;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
}

/* Każdy link w osobnym wierszu */
.gc-footer .gc-footer-col li,
.gc-footer .gc-footer-col .mod-menu__item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Czytelne linki */
.gc-footer .gc-footer-col li a {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    white-space: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #d5e3d9;
    text-decoration: none;
}

.gc-footer .gc-footer-col li a:hover {
    color: #a8d47e;
}

/* Wersja mobilna */
@media (max-width: 850px) {
    .gc-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .site-header .logo {
        width: 175px !important;
        max-width: 100%;
    }

    .gc-footer .footer-brand {
        width: 230px !important;
    }
}

/* Ostateczne wyrównanie stopki */

.gc-footer-grid {
    align-items: start !important;
}

.gc-footer-about,
.gc-footer-col {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.gc-footer-col h3 {
    margin-top: 0 !important;
}

/* Logo w stopce */
.gc-footer .footer-brand {
    width: 300px !important;
    max-width: 100%;
    margin-top: 0 !important;
}

/* Logo w nagłówku */
.site-header .logo {
    width: 235px !important;
    max-width: 100%;
}

/* GREEN CLINIC – STOPKA 4 KOLUMNY */

.gc-footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr !important;
    gap: 35px !important;
}

@media (max-width: 950px) {
    .gc-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .gc-footer-grid {
        grid-template-columns: 1fr !important;
    }
}


/* GREEN CLINIC – O KLINICE */

.gc2-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 16px;
    background: #f2f7ef;
    align-items: stretch;
}

.gc2-hero-copy {
    padding: 45px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gc2-eyebrow {
    color: #649e3e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.gc2-hero-copy h1 {
    font-size: 32px;
    color: #103d2a;
    margin: 0 0 15px;
}

.gc2-hero-image {
    min-height: 270px;
}

.gc2-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc2-intro {
    margin-bottom: 20px;
    line-height: 1.8;
}

.gc2-section > p {
    line-height: 1.8;
    margin-bottom: 16px;
}

@media (max-width: 700px) {
    .gc2-hero {
        grid-template-columns: 1fr;
    }

    .gc2-hero-copy {
        padding: 30px 24px;
    }

    .gc2-hero-image {
        height: 240px;
    }
}


/* GREEN CLINIC – WSPÓLNY STYL WPROWADZENIA */

.gc-intro-box {
    background: #f2f7ef;
    border-radius: 16px;
    padding: 35px 40px;
    margin: 25px 0 35px;
}

.gc-intro-box h1,
.gc-intro-box h2 {
    color: #103d2a;
    font-size: 30px;
    line-height: 1.3;
    margin: 0 0 18px;
}

.gc-intro-box p {
    color: #33483d;
    font-size: 15px;
    line-height: 1.85;
    margin: 0 0 14px;
}

.gc-intro-box p:last-child {
    margin-bottom: 0;
}

@media (max-width: 700px) {
    .gc-intro-box {
        padding: 25px 22px;
        margin: 20px 0 30px;
    }

    .gc-intro-box h1,
    .gc-intro-box h2 {
        font-size: 25px;
    }
}


/* GREEN CLINIC – KARTY KONSULTACJI */

.gc2-card-body h3 {
    color: #103d2a;
    font-size: 18px;
    line-height: 1.4;
    margin: 0 0 15px;
}

.gc2-card-body p {
    color: #33483d;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 14px;
}

.gc2-card-body p:last-child {
    margin-bottom: 0;
}


/* GREEN CLINIC – IKONY KONSULTACJI */

.gc2-card-body .gc-consult-icon {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: contain;
    margin: 0 auto 20px;
}

.gc2-card-body:has(.gc-consult-icon) h3 {
    text-align: center;
    margin-bottom: 18px;
}

.gc2-card-body:has(.gc-consult-icon) {
    padding-top: 26px;
    padding-bottom: 26px;
}


/* GREEN CLINIC – WPROWADZENIE NA STRONIE WIZYTY */

.gc-visit-page .gc-visit-header.gc-intro-box {
    background: #f2f7ef;
    border-radius: 16px;
    padding: 35px 40px;
    margin: 25px 0 35px;
    text-align: left;
}

.gc-visit-page .gc-visit-header h1 {
    color: #103d2a;
    font-size: 30px;
    line-height: 1.3;
    margin: 0 0 18px;
}

.gc-visit-page .gc-visit-header p {
    color: #33483d;
    font-size: 15px;
    line-height: 1.85;
    margin: 0 0 14px;
}

.gc-visit-page .gc-visit-header p:last-child {
    margin-bottom: 0;
}

.gc-visit-page .gc-visit-header .gc2-eyebrow {
    display: block;
    color: #649e3e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

@media (max-width: 700px) {
    .gc-visit-page .gc-visit-header.gc-intro-box {
        padding: 25px 22px;
    }

    .gc-visit-page .gc-visit-header h1 {
        font-size: 25px;
    }
}


/* CENNIK – WYŚRODKOWANIE KART */

.gc2-simple .gc2-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}

.gc2-simple .gc2-price {
    flex: 0 1 320px;
    box-sizing: border-box;
}


/* KONTAKT – PRZYCISK NAWIGACJI */

.gc-directions-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 12px 22px;
    background: #103d2a;
    color: #ffffff;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease;
}

.gc-directions-btn:hover {
    background: #649e3e;
    color: #ffffff;
}


/* BAZA WIEDZY – PRZYCISK CZYTAJ DALEJ */

.gc-content .readmore a,
.gc-content a.readmore,
.readmore a,
a.readmore {
    display: inline-block;
    background: #649e3e;
    color: #ffffff !important;
    padding: 12px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.4;
}

.gc-content .readmore a:hover,
.gc-content a.readmore:hover,
.readmore a:hover,
a.readmore:hover {
    background: #103d2a;
    color: #ffffff !important;
}



/* GREEN CLINIC – PRZYCISKI PACJENTA */

.gc-account-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gc-account-actions span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    cursor: default;
}

.gc-account-login {
    color: #103d2a;
    border: 1px solid #649e3e;
    background: transparent;
}

.gc-account-register {
    color: #ffffff;
    border: 1px solid #649e3e;
    background: #649e3e;
}


/* GREEN CLINIC – GÓRNY PASEK PACJENTA */

.gc-account-bar {
    background: #f2f7ef;
    border-bottom: 1px solid #e1eadb;
}

.gc-account-bar .wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 7px;
    padding-bottom: 7px;
}

.gc-account-bar .gc-account-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gc-account-bar .gc-account-actions span {
    padding: 7px 12px;
    font-size: 12px;
}

@media (max-width: 600px) {
    .gc-account-bar .wrap {
        justify-content: center;
    }
}


/* ==========================================
   GREEN CLINIC – FAQ V1.1
   Rozwijane pytania i odpowiedzi
   ========================================== */

.gc-faq {
    --gc-dark: #103d2a;
    --gc-green: #649e3e;
    --gc-pale: #f2f7ef;
    --gc-line: #a3c38c;

    max-width: 1050px;
    margin: 0 auto;
    color: #263d30;
}

.gc-faq,
.gc-faq * {
    box-sizing: border-box;
}

/* Nagłówek FAQ */

.gc-faq .gc-faq-hero {
    background: linear-gradient(
        125deg,
        #f2f7ef 0%,
        #ffffff 100%
    );
    border: 1px solid #e1edda;
    border-radius: 20px;
    padding: 42px 38px;
    margin: 10px 0 40px;
}

.gc-faq .gc-faq-eyebrow {
    color: #649e3e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.gc-faq .gc-faq-hero h1 {
    color: #103d2a;
    font-size: clamp(29px, 4vw, 43px);
    line-height: 1.2;
    margin: 0 0 16px;
}

.gc-faq .gc-faq-hero p {
    font-size: 17px;
    line-height: 1.7;
    max-width: 750px;
    margin: 0;
}

/* Kategorie pytań */

.gc-faq .gc-faq-section {
    margin: 52px 0;
}

.gc-faq .gc-faq-section h2 {
    color: #103d2a;
    font-size: clamp(23px, 3vw, 30px);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 20px;
}

/* Pojedyncze pytanie */

.gc-faq details.gc-faq-item {
    display: block;
    border: 0;
    border-bottom: 1px solid #a3c38c;
    margin: 0;
    padding: 0;
    background: transparent;
}

.gc-faq details.gc-faq-item > summary {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;

    padding: 27px 4px;
    margin: 0;

    cursor: pointer;
    list-style: none;

    color: #103d2a;
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 400;
    line-height: 1.5;
}

/* Usunięcie domyślnych trójkątów */

.gc-faq details.gc-faq-item > summary::-webkit-details-marker {
    display: none;
}

.gc-faq details.gc-faq-item > summary::marker {
    content: "";
}

.gc-faq details.gc-faq-item > summary:hover {
    color: #427c30;
}

.gc-faq details.gc-faq-item > summary:focus-visible {
    outline: 2px solid #649e3e;
    outline-offset: 4px;
    border-radius: 4px;
}

.gc-faq .gc-faq-question {
    display: block;
    flex: 1;
}

/* Przycisk Rozwiń / Zwiń */

.gc-faq .gc-faq-toggle {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;

    padding-top: 5px;

    color: #103d2a;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.gc-faq .gc-faq-toggle::before {
    content: "Rozwiń";
}

.gc-faq .gc-faq-toggle::after {
    content: "↓";
    font-size: 19px;
    line-height: 1;
}

.gc-faq details.gc-faq-item[open] .gc-faq-toggle::before {
    content: "Zwiń";
}

.gc-faq details.gc-faq-item[open] .gc-faq-toggle::after {
    content: "↑";
}

/* Rozwijana odpowiedź */

.gc-faq .gc-faq-answer {
    padding: 0 45px 27px 4px;
    color: #42584a;
    font-size: 16px;
    line-height: 1.85;
}

.gc-faq .gc-faq-answer p {
    margin: 0 0 12px;
}

.gc-faq .gc-faq-answer p:last-child {
    margin-bottom: 0;
}

.gc-faq .gc-faq-answer a {
    color: #377b34;
    text-decoration: underline;
}

/* Informacja organizacyjna */

.gc-faq .gc-faq-note {
    background: #f2f7ef;
    border-left: 4px solid #649e3e;
    border-radius: 0 12px 12px 0;
    padding: 18px 22px;
    margin: 40px 0 20px;
    font-size: 14px;
    line-height: 1.7;
}

/* Dolny panel kontaktowy */

.gc-faq .gc-faq-bottom {
    text-align: center;
    background: #f2f7ef;
    border-radius: 18px;
    padding: 35px 25px;
    margin-top: 45px;
}

.gc-faq .gc-faq-bottom h2 {
    color: #103d2a;
    margin: 0 0 12px;
}

.gc-faq .gc-faq-bottom p {
    margin: 0 0 22px;
}

.gc-faq .gc-faq-contact {
    display: inline-block;
    padding: 13px 25px;
    border-radius: 11px;

    background: #103d2a;
    color: #ffffff !important;

    text-decoration: none !important;
    font-weight: 600;
}

.gc-faq .gc-faq-contact:hover {
    background: #206c47;
}

/* Wersja mobilna */

@media (max-width: 650px) {

    .gc-faq .gc-faq-hero {
        padding: 27px 21px;
        margin-bottom: 30px;
    }

    .gc-faq .gc-faq-section {
        margin: 38px 0;
    }

    .gc-faq details.gc-faq-item > summary {
        gap: 12px;
        padding: 22px 2px;
    }

    .gc-faq .gc-faq-toggle {
        gap: 4px;
        font-size: 11px;
    }

    .gc-faq .gc-faq-answer {
        padding-right: 8px;
        font-size: 15px;
    }
}

/* GREEN CLINIC – FAQ: strzałki rozwijania */

.gc-faq-item > summary {
    position: relative;
    display: block;
    padding-right: 55px;
    cursor: pointer;
    list-style: none;
}

/* Ukrycie domyślnego znacznika */
.gc-faq-item > summary::-webkit-details-marker {
    display: none;
}

.gc-faq-item > summary::marker {
    content: "";
}

/* Zielona strzałka po prawej */
.gc-faq-item > summary::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #649e3e;
    border-bottom: 2px solid #649e3e;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;
}

/* Strzałka po rozwinięciu odpowiedzi */
.gc-faq-item[open] > summary::after {
    transform: translateY(-25%) rotate(225deg);
}

/* GREEN CLINIC – FAQ: poprawka strzałek mobilnych */

.gc-faq-item > summary {
    display: block !important;
    list-style: none !important;
    list-style-type: none !important;
}

.gc-faq-item > summary::-webkit-details-marker {
    display: none !important;
}

.gc-faq-item > summary::marker {
    content: "" !important;
    display: none !important;
}
/* KONIEC GREEN CLINIC FAQ V1.1 */



/* ==============================================================
 GREEN CLINIC V7 — ORGANIC WAVES / RESPONSIVE VISUAL REFRESH
 Append-only overrides: preserve V6 article, FAQ and module styling.
 ============================================================== */
:root { --gc-v7-deep:#063e30; --gc-v7-mint:#a6d68b; --gc-v7-pale:#f3f9ee; }
body.site { background:#fff; color:#14372c; }
.site-header { background:#fff; border-bottom:0; box-shadow:0 6px 24px rgba(14,63,42,.055); }
.gc-account-bar { background:linear-gradient(105deg,#043e30,#07533c 70%,#0b4b38)!important; color:#fff; }
.gc-account-bar a { color:inherit; }
.gc-header-wave { height:18px; pointer-events:none; background:linear-gradient(170deg,rgba(174,223,140,.62),rgba(222,244,202,.24) 64%,transparent 65%); }
.site-header .nav { position:relative; min-height:96px; }
.site-header .brand-link { flex-shrink:0; }
.site-header .brand-link .logo { width:245px!important; height:82px!important; max-width:100%; object-fit:contain; }
.site-header .site-nav a { color:#133e30; transition:color .2s; }
.site-header .site-nav a:hover { color:#649e3e; }
.slider { isolation:isolate; background:#f6fbf4; }
.slider::before { content:""; position:absolute; z-index:4; top:-1px; left:-2%; width:104%; height:70px; pointer-events:none; background:url('../images/wave-top.svg') center top/100% 100% no-repeat; }
.slider::after { content:""; position:absolute; z-index:4; bottom:-1px; left:-2%; width:104%; height:76px; pointer-events:none; background:url('../images/wave-bottom.svg') center bottom/100% 100% no-repeat; }
.slide img { object-position:center center; }
.slide:after { background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 24%,rgba(255,255,255,.35) 56%,rgba(255,255,255,.02) 100%); }
.slide-copy { left:max(6%,calc((100% - 1180px)/2)); width:min(520px,48%); }
.slide-copy h1,.slide-copy h2 { font-size:clamp(36px,4.1vw,59px); line-height:1.08; color:#073e30; margin:14px 0 18px; letter-spacing:-.035em; }
.slide-copy h1 em,.slide-copy h2 em { color:#6b9f43; font-style:normal; }
.slide-copy p { max-width:440px; font-size:17px; color:#29463a; }
.slide-copy .btn,.btn { border-radius:999px; background:linear-gradient(115deg,#07813c,#006b3e); color:#fff; box-shadow:0 8px 18px rgba(6,112,58,.14); }
.slider-arrow { background:rgba(255,255,255,.92); box-shadow:0 4px 15px rgba(20,65,39,.12); }
.dots { bottom:43px; }
.gc-v7-services { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; align-items:center; padding:27px 0 35px; }
.gc-v7-service { display:flex; align-items:center; justify-content:center; gap:17px; font-size:16px; font-weight:700; color:#143b30; line-height:1.4; }
.gc-v7-service-icon { width:72px; height:72px; display:grid; place-items:center; flex:0 0 72px; border-radius:50%; background:#eef6e8; }
.gc-v7-service-icon img { display:block; width:37px; height:37px; object-fit:contain; }
.is-home .gc-main { padding-top:26px; }
.gc-main { position:relative; }
.gc2-hero { background:linear-gradient(145deg,#f9fcf6,#eff8ea); border-radius:32px 32px 95px 32px; box-shadow:0 18px 40px rgba(20,60,35,.055); }
.gc2-card { border-color:#e7efe1; border-radius:24px 24px 45px 24px; }
.gc2-note { border-radius:14px 32px 32px 14px; }
.gc-footer { position:relative; background:linear-gradient(145deg,#043f31,#07513b)!important; color:#fff!important; margin-top:85px; padding-top:55px!important; }
.gc-footer::before { content:""; position:absolute; left:0; right:0; top:-76px; height:78px; background:url('../images/wave-footer.svg') center bottom/100% 100% no-repeat; pointer-events:none; }
.gc-footer a,.gc-footer h3,.gc-footer p { color:#fff!important; }
.gc-footer .footer-brand { max-width:270px; width:100%; height:auto; background:rgba(255,255,255,.97); padding:12px 14px; border-radius:18px; object-fit:contain; }
.gc-footer-bottom { border-top:1px solid rgba(255,255,255,.2); }
@media(max-width:850px) {
 .gc-header-wave { height:11px; }
 .site-header .nav { min-height:75px; }
 .site-header .brand-link .logo { width:190px!important; height:65px!important; }
 .slider { height:590px; }
 .slider::before { height:37px; }
 .slider::after { height:65px; }
 .slide img { object-position:64% center; }
 .slide:after { background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 37%,rgba(255,255,255,.36) 75%,rgba(255,255,255,.07) 100%); }
 .slide-copy { left:6%; width:88%; top:32%; }
 .slide-copy h1,.slide-copy h2 { font-size:clamp(33px,7vw,46px); }
 .slide-copy p { font-size:15px; max-width:350px; }
 .gc-v7-services { grid-template-columns:1fr; gap:17px; padding:25px 0; }
 .gc-v7-service { justify-content:flex-start; padding-left:8%; }
 .gc-v7-service-icon { width:60px; height:60px; flex-basis:60px; }
 .gc-v7-service-icon img { width:32px; height:32px; }
 .gc2-hero { border-radius:24px 24px 60px 24px; }
 .gc-footer { margin-top:70px; }
 .gc-footer::before { top:-54px; height:56px; }
}
@media(max-width:520px) {
 .slider { height:545px; }
 .slide-copy { top:31%; }
 .slide-copy h1,.slide-copy h2 { font-size:35px; }
 .slide-copy p { font-size:14px; }
 .slider-arrow { width:35px; height:35px; font-size:25px; }
 .dots { bottom:36px; }
}
@media(prefers-reduced-motion:reduce) { .slide { transition:none; } }

/* GREEN CLINIC V7.1 — reference przyklad.jpg: horizontal brand and layered asymmetric waves */
.site-header{box-shadow:none!important}
.gc-account-bar{min-height:46px!important;background:#064334!important}
.gc-header-wave{position:absolute;top:46px;left:0;right:0;height:66px!important;background:url('../images/wave-header.svg') center top/100% 100% no-repeat!important;z-index:0;pointer-events:none}
.site-header{position:relative}
.site-header .nav{position:relative;z-index:1;min-height:110px!important;display:flex;align-items:center;justify-content:space-between}
.site-header .brand-link{display:flex;align-items:center;flex:0 0 auto}
.site-header .brand-link .logo{width:320px!important;height:auto!important;max-height:96px!important;object-fit:contain!important;object-position:left center!important}
.site-header .site-nav{margin-left:auto}
.slider{height:var(--gc-slider-height)!important;min-height:480px;overflow:hidden}
.slider::before{height:112px!important;background-image:url('../images/wave-top.svg')!important;z-index:5}
.slider::after{height:95px!important;background-image:url('../images/wave-bottom.svg')!important;z-index:5}
.slide img{object-position:62% center!important}
.slide:after{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 25%,rgba(255,255,255,.60) 43%,rgba(255,255,255,.03) 70%)!important}
.slide-copy{left:max(6%,calc((100% - 1180px)/2))!important;top:50%;transform:translateY(-44%);width:min(560px,49%)!important}
.slide-copy h1,.slide-copy h2{font-size:clamp(39px,4.1vw,60px)!important;letter-spacing:-.035em;line-height:1.1!important}
.gc-v7-services{padding-top:30px!important;padding-bottom:42px!important}
@media(max-width:980px){.site-header .brand-link .logo{width:250px!important}.site-header .nav{min-height:94px!important}.gc-header-wave{height:52px!important}.slide-copy{left:6%!important}}
@media(max-width:850px){.gc-header-wave{top:44px;height:45px!important}.site-header .nav{min-height:86px!important}.site-header .brand-link .logo{width:230px!important;max-height:75px!important}.slider{min-height:535px!important;height:535px!important}.slider::before{height:66px!important}.slider::after{height:75px!important}.slide img{object-position:65% center!important}.slide:after{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 42%,rgba(255,255,255,.18) 78%)!important}.slide-copy{top:31%!important;transform:translateY(-15%);width:88%!important}.slide-copy h1,.slide-copy h2{font-size:clamp(32px,6vw,46px)!important}}
@media(max-width:520px){.site-header .brand-link .logo{width:195px!important;max-height:70px!important}.site-header .nav{min-height:76px!important}.gc-header-wave{height:34px!important}.slider::before{height:49px!important}.slider::after{height:58px!important}.slide-copy{top:29%!important}.slide-copy h1,.slide-copy h2{font-size:34px!important}.gc-v7-services{padding-top:20px!important}}

/* Green Clinic V7.2 — głębokie, asymetryczne fale jak w przyklad.jpg */
.gc-header-wave{height:85px!important;background-image:url('../images/wave-header.svg')!important;background-size:100% 100%!important}
.slider::before{top:-1px!important;left:0!important;width:100%!important;height:205px!important;background:url('../images/wave-top.svg') left top/100% 100% no-repeat!important;opacity:1!important;z-index:5!important}
.slider::after{bottom:-1px!important;left:0!important;width:100%!important;height:135px!important;background:url('../images/wave-bottom.svg') left bottom/100% 100% no-repeat!important;opacity:1!important;z-index:5!important}
@media(max-width:980px){.slider::before{height:155px!important}.slider::after{height:112px!important}.gc-header-wave{height:70px!important}}
@media(max-width:850px){.slider::before{height:112px!important}.slider::after{height:95px!important}.gc-header-wave{height:60px!important}}
@media(max-width:520px){.slider::before{height:90px!important}.slider::after{height:75px!important}.gc-header-wave{height:48px!important}}

/* V7.3 – reference image exact brand composition and organic asymmetric ribbons */
.site-header{background:#fff!important;overflow:visible}
.site-header .nav{min-height:116px!important;padding-top:8px!important;padding-bottom:8px!important}
.site-header .brand-link .logo{width:325px!important;height:91px!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
.gc-header-wave{top:46px!important;height:116px!important;background:url('../images/wave-header-v73.svg') center top/100% 100% no-repeat!important}
.slider::before{height:205px!important;background:url('../images/wave-top-v73.svg') center top/100% 100% no-repeat!important}
.slider::after{height:125px!important;background:url('../images/wave-bottom-v73.svg') center bottom/100% 100% no-repeat!important}
@media(max-width:980px){.site-header .brand-link .logo{width:265px!important;height:78px!important}.gc-header-wave{height:90px!important}.slider::before{height:145px!important}.slider::after{height:105px!important}}
@media(max-width:850px){.site-header .nav{min-height:86px!important}.site-header .brand-link .logo{width:220px!important;height:65px!important}.gc-header-wave{height:70px!important}.slider::before{height:115px!important}.slider::after{height:95px!important}}
@media(max-width:520px){.site-header .nav{min-height:77px!important}.site-header .brand-link .logo{width:184px!important;height:58px!important}.gc-header-wave{height:56px!important}.slider::before{height:85px!important}.slider::after{height:70px!important}}

/* Green Clinic V7.4 — bez slidera; układ na podstawie przesłanych plików */
.site-header{position:relative!important;background:#fff!important;box-shadow:none!important;overflow:visible!important}
.gc-account-bar{background:#064434!important;min-height:48px!important}
.gc-header-wave{position:absolute!important;top:48px!important;left:0!important;right:0!important;height:118px!important;background:url('../images/wave-header-v74.svg') top center/100% 100% no-repeat!important;pointer-events:none!important;z-index:0!important}
.site-header .nav{position:relative!important;z-index:2!important;min-height:122px!important;padding-top:13px!important;padding-bottom:13px!important;gap:32px!important}
.site-header .brand-link{display:flex!important;align-items:center!important;min-width:0!important}
.site-header .brand-link .logo{display:block!important;width:310px!important;height:auto!important;max-height:104px!important;object-fit:contain!important;object-position:left center!important}
.site-header .site-nav{margin-left:auto!important}
.gc-v74-intro{position:relative;isolation:isolate;min-height:330px;background:linear-gradient(135deg,#fff 0%,#f8fcf5 65%,#fff 100%);overflow:hidden}
.gc-v74-intro-wave{position:absolute;inset:0 0 auto;height:215px;background:url('../images/wave-main-v74.svg') top center/100% 100% no-repeat;z-index:-1}
.gc-v74-intro-copy{position:relative;padding-top:110px;padding-bottom:52px}
.gc-v74-eyebrow{color:#659f41;font-size:12px;font-weight:800;letter-spacing:.16em;margin:0 0 12px}
.gc-v74-intro h1{color:#073d30;font-size:clamp(32px,4.2vw,57px);line-height:1.09;letter-spacing:-.035em;max-width:740px;margin:0 0 18px}
.gc-v74-intro h1 span{display:block;color:#6a9f44}
.gc-v74-intro-copy>p:last-child{max-width:620px;color:#234438;font-size:17px;line-height:1.65;margin:0}
.is-home .gc-main{padding-top:15px!important}
.gc-v7-services{padding-top:24px!important}
@media(max-width:1050px){.site-header .brand-link .logo{width:250px!important;max-height:88px!important}.site-header .nav{min-height:108px!important;gap:18px!important}.gc-header-wave{height:100px!important}}
@media(max-width:850px){.gc-account-bar{min-height:44px!important}.gc-header-wave{top:44px!important;height:78px!important}.site-header .nav{min-height:92px!important}.site-header .brand-link .logo{width:218px!important;max-height:76px!important}.gc-v74-intro{min-height:300px}.gc-v74-intro-wave{height:165px}.gc-v74-intro-copy{padding-top:95px;padding-bottom:42px}.gc-v74-intro-copy>p:last-child{font-size:15px}}
@media(max-width:520px){.site-header .nav{min-height:80px!important}.site-header .brand-link .logo{width:190px!important;max-height:68px!important}.gc-header-wave{height:66px!important}.gc-v74-intro{min-height:280px}.gc-v74-intro-wave{height:135px}.gc-v74-intro-copy{padding-top:75px;padding-bottom:35px}.gc-v74-intro h1{font-size:34px}}


/* ===============================================================
   GREEN CLINIC V7.5 — nagłówek z zatwierdzonej grafiki
   Bez logo, bez slidera, bez zdjęć ludzi.
   Tło to osobny plik header-v75.png (grafika zatwierdzona).
   =============================================================== */
body.site .site-header {
    position: relative !important;
    background: #fff url('../images/header-v75.png') center top / 100% 100% no-repeat !important;
    min-height: 365px !important;
    overflow: visible !important;
    box-shadow: none !important;
    border: 0 !important;
    z-index: 20;
}
body.site .site-header .gc-account-bar {
    height: 58px !important;
    min-height: 58px !important;
    background: transparent !important;
    position: relative;
    z-index: 2;
}
body.site .site-header .nav {
    min-height: 210px !important;
    height: 210px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    position: relative !important;
    z-index: 3 !important;
}
body.site .site-header .site-nav {
    margin-left: auto !important;
}
body.site .site-header .site-nav a {
    color: #073e30 !important;
}
body.site .site-header .gc-header-wave,
body.site .site-header .brand-link,
body.site .slider,
body.site .gc-v74-intro,
body.site .gc-v7-services {
    display: none !important;
}
body.site.is-home .gc-main {
    padding-top: 35px;
}
@media (max-width: 900px) {
    body.site .site-header {
        min-height: 285px !important;
        background-size: auto 100% !important;
        background-position: 43% top !important;
    }
    body.site .site-header .gc-account-bar {
        height: 48px !important;
        min-height: 48px !important;
    }
    body.site .site-header .nav {
        min-height: 145px !important;
        height: 145px !important;
        justify-content: flex-end !important;
    }
}
@media (max-width: 600px) {
    body.site .site-header {
        min-height: 240px !important;
        background-size: auto 100% !important;
        background-position: 35% top !important;
    }
    body.site .site-header .nav {
        min-height: 120px !important;
        height: 120px !important;
    }
}

/* GREEN CLINIC V7.6: original horizontal logo; V7.5 waves unchanged. */
body.site .site-header .gc-v76-brand {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: 325px !important;
    max-width: 38% !important;
    height: auto !important;
    position: relative !important;
    z-index: 5 !important;
}
body.site .site-header .gc-v76-brand .logo {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain !important;
}
body.site .site-header .nav {
    justify-content: space-between !important;
    gap: 24px !important;
}
body.site .site-header .site-nav { margin-left: auto !important; }
@media (max-width: 1050px) {
    body.site .site-header .gc-v76-brand { width: 265px !important; max-width: 36% !important; }
}
@media (max-width: 900px) {
    body.site .site-header .gc-v76-brand { width: 230px !important; max-width: 60% !important; }
    body.site .site-header .nav { justify-content: space-between !important; }
}
@media (max-width: 600px) {
    body.site .site-header .gc-v76-brand { width: 195px !important; max-width: 70% !important; }
}

/* Green Clinic V7.7: the lower wave is moved down in the background asset, leaving the logo clear. */
body.site .site-header { background-image: url('../images/header-v77.png') !important; }


/* GREEN CLINIC V7.8: restore the original four-slide carousel.
   Preserve V7.7 header image, lowered wave and horizontal logo. */
body.site.is-home .slider,
body.site.is-inner .slider {
    display: block !important;
    position: relative;
    isolation: isolate;
}
body.site .slider .slide {
    position: absolute;
}
body.site .slider .slide.active {
    display: block;
}
@media (max-width: 900px) {
    body.site .slider {
        height: min(510px, 68vw) !important;
        min-height: 320px !important;
    }
}
@media (max-width: 600px) {
    body.site .slider {
        min-height: 400px !important;
        height: 470px !important;
    }
}

/* V7.9: slider is photograph only; the sole green wave is in the header. */
body.site .slider::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; height: 105px !important;
    background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,.90) 18%, rgba(255,255,255,0) 100%) !important;
    opacity: 1 !important;
    z-index: 4 !important; pointer-events: none !important;
}
body.site .slider::after { content: none !important; display: none !important; background: none !important; }
@media (max-width: 850px) { body.site .slider::before { height: 80px !important; } }
@media (max-width: 520px) { body.site .slider::before { height: 55px !important; } }

/* GREEN CLINIC V7.10 — subtler image fade, visible faces on mobile,
   symmetrical lower wave. The header artwork is unchanged. */
body.site .slider::before {
  height: 24px !important;
  background: linear-gradient(to bottom, rgba(255,255,255,.65), rgba(255,255,255,0)) !important;
  opacity: 1 !important;
}
body.site .slider::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: -1px !important;
  width: 100% !important; height: 82px !important;
  background: url('../images/wave-bottom-symmetric-v710.svg') center bottom / 100% 100% no-repeat !important;
  z-index: 5 !important; pointer-events: none !important;
}
body.site .slider .slide:after {
  background: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.64) 25%, rgba(255,255,255,.12) 49%, rgba(255,255,255,0) 70%) !important;
}
@media (max-width: 850px) {
  body.site .slider::before { height: 14px !important; }
  body.site .slider::after { height: 62px !important; }
  body.site .slider .slide img { object-position: 67% 32% !important; }
  body.site .slider .slide:after {
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 37%, rgba(255,255,255,.40) 67%, rgba(255,255,255,.90) 100%) !important;
  }
  body.site .slider .slide-copy {
    top: auto !important; bottom: 65px !important; transform: none !important;
    width: 88% !important;
  }
}
@media (max-width: 520px) {
  body.site .slider { height: 520px !important; min-height: 520px !important; }
  body.site .slider::before { height: 9px !important; }
  body.site .slider::after { height: 52px !important; }
  body.site .slider .slide img { object-position: 68% 24% !important; }
  body.site .slider .slide-copy { bottom: 54px !important; }
  body.site .slider .slide-copy h1, body.site .slider .slide-copy h2 {
    font-size: clamp(28px, 7vw, 35px) !important;
  }
}


/* GREEN CLINIC V7.11 — the reference artwork's single continuous transition.
   Header retains its original waves. The slider slides slightly behind it;
   no second top wave and no global white fade over the photograph. */
body.site.is-home .site-header {
  position: relative !important;
  z-index: 6 !important;
}
body.site.is-home .slider {
  margin-top: -42px !important;
  z-index: 1 !important;
  isolation: isolate !important;
}
body.site.is-home .slider::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
/* A single symmetric finishing wave at the slider's bottom. */
body.site.is-home .slider::after {
  height: 76px !important;
  opacity: .94 !important;
}
body.site.is-home .slider .slide:after {
  background: linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.64) 26%,rgba(255,255,255,.08) 53%,transparent 73%) !important;
}
@media (max-width: 850px) {
  body.site.is-home .slider { margin-top: -24px !important; }
  body.site.is-home .slider .slide:after {
    background: linear-gradient(to bottom,transparent 0%,transparent 44%,rgba(255,255,255,.30) 66%,rgba(255,255,255,.88) 100%) !important;
  }
  body.site.is-home .slider .slide img { object-position: 68% 24% !important; }
}
@media (max-width: 520px) {
  body.site.is-home .slider { margin-top: -12px !important; }
  body.site.is-home .slider .slide img { object-position: 70% 20% !important; }
  body.site.is-home .slider::after { height: 50px !important; }
}

/* V7.12: slider raised beneath the header wave, without whitening the photo.
   A white irregular edge masks the horizontal image seam. */
body.site.is-home .slider { margin-top:-112px !important; }
body.site.is-home .slider::before {
 content:"" !important; display:block !important; position:absolute !important;
 top:0 !important; left:0 !important; right:0 !important;
 width:100% !important; height:115px !important;
 background:url('../images/slider-top-soft-edge-v712.svg') center top / 100% 100% no-repeat !important;
 opacity:1 !important; z-index:5 !important; pointer-events:none !important;
}
@media(max-width:850px){
 body.site.is-home .slider {margin-top:-78px !important;}
 body.site.is-home .slider::before {height:82px !important;}
}
@media(max-width:520px){
 body.site.is-home .slider {margin-top:-52px !important;}
 body.site.is-home .slider::before {height:57px !important;}
}


/* GREEN CLINIC V7.13 — transition begins at the actual header wave.
   Fade the header's lower artwork into the photo instead of drawing
   an opaque horizontal strip over the top of each slide. */
body.site.is-home .site-header {
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 112px), transparent 100%) !important;
  mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 112px), transparent 100%) !important;
}
body.site.is-home .slider {
  margin-top: -155px !important;
}
body.site.is-home .slider::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
@media (max-width: 850px) {
  body.site.is-home .site-header {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 72px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 72px), transparent 100%) !important;
  }
  body.site.is-home .slider { margin-top: -105px !important; }
}
@media (max-width: 520px) {
  body.site.is-home .site-header {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 54px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 54px), transparent 100%) !important;
  }
  body.site.is-home .slider { margin-top: -78px !important; }
}


/* GREEN CLINIC V7.14 — pionowa lista menu po kliknięciu hamburgera.
   Wyłącznie mobile: nie zmienia nagłówka, fal ani slidera V7.13. */
@media (max-width: 850px) {
  body.site .site-header .nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  body.site .site-header button[data-menu] {
    display: block !important;
    margin-left: auto !important;
    cursor: pointer;
    position: relative;
    z-index: 10;
  }
  body.site .site-header nav[data-nav] {
    display: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    order: 10 !important;
    position: relative !important;
    padding: 8px 0 14px !important;
  }
  body.site .site-header nav[data-nav].show {
    display: block !important;
  }
  body.site .site-header nav[data-nav] ul,
  body.site .site-header nav[data-nav] ul.mod-menu {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  body.site .site-header nav[data-nav] li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  body.site .site-header nav[data-nav] a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid rgba(42,105,65,.17);
    text-align: left !important;
    white-space: normal !important;
  }
}


/* V7.15 — mobile navigation is moved outside masked header by site.js.
   Full-screen opaque panel, above all slider content. */
@media(max-width:850px){
  body.site > nav[data-nav].gc-mobile-overlay {
    position:fixed !important; inset:0 !important; z-index:2147483000 !important;
    display:none !important; width:100vw !important; max-width:none !important;
    height:100dvh !important; min-height:100vh !important;
    box-sizing:border-box !important; overflow-y:auto !important;
    margin:0 !important; padding:84px 22px 32px !important;
    background:#ffffff !important; opacity:1 !important;
    -webkit-mask:none !important; mask:none !important;
    transform:none !important; filter:none !important;
  }
  body.site > nav[data-nav].gc-mobile-overlay.show {display:block !important;}
  body.site > nav[data-nav].gc-mobile-overlay ul,
  body.site > nav[data-nav].gc-mobile-overlay ul.mod-menu {
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    flex-wrap:nowrap !important; gap:0 !important; list-style:none !important;
    padding:0 !important; margin:0 !important; width:100% !important;
  }
  body.site > nav[data-nav].gc-mobile-overlay li {display:block !important;width:100% !important;float:none !important;margin:0 !important;}
  body.site > nav[data-nav].gc-mobile-overlay a {
    display:block !important; width:100% !important; box-sizing:border-box !important;
    padding:15px 10px !important; color:#103d2a !important; font-size:17px !important;
    text-align:left !important; white-space:normal !important;
    border-bottom:1px solid #dbe9d5 !important; text-decoration:none !important;
  }
  body.site > nav[data-nav].gc-mobile-overlay .gc-menu-close {
    position:absolute; top:20px; right:20px; width:44px; height:44px;
    border:1px solid #dbe9d5; border-radius:50%; background:#f2f7ef;
    color:#103d2a; font-size:28px; line-height:1; cursor:pointer;
  }
  body.gc-menu-open {overflow:hidden !important;}
}
@media(min-width:851px){
  body.site nav[data-nav] .gc-menu-close {display:none !important;}
}

/* V7.16: footer logo without an opaque white badge; restore top login button. */
body.site .gc-footer .footer-brand {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}
body.site .gc-account-bar .account-actions { display:flex !important; align-items:center !important; gap:10px !important; }
body.site .gc-account-bar .gc-login-v716 {
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:7px 14px !important; border:1px solid rgba(255,255,255,.8) !important;
  border-radius:8px !important; background:rgba(0,52,37,.24) !important;
  color:#fff !important; text-decoration:none !important;
  font-size:13px !important; font-weight:700 !important; line-height:1.35 !important;
  white-space:nowrap !important; position:relative; z-index:10;
}
body.site .gc-account-bar .gc-login-v716:hover { background:rgba(0,52,37,.65) !important; }

/* V7.17 — original Joomla login module: readable label, no duplicate button. */
body.site .gc-account-bar .account-actions a,
body.site .gc-account-bar .account-actions a:link,
body.site .gc-account-bar .account-actions a:visited,
body.site .gc-account-bar .account-actions a span,
body.site .gc-account-bar .account-actions a strong,
body.site .gc-account-bar .account-actions .btn,
body.site .gc-account-bar .account-actions .btn span {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}
body.site .gc-account-bar .account-actions a:hover {color:#e1f7d0 !important;}
body.site .gc-footer .footer-brand {
  background:transparent !important; width:100% !important; max-width:280px !important;
  padding:0 !important; border-radius:0 !important; box-shadow:none !important;
  mix-blend-mode:normal !important; opacity:1 !important;
}
body.site .gc-contact-v717 {font-style:normal;line-height:1.85;overflow-wrap:anywhere;}
body.site .gc-contact-v717 a {color:#fff !important;text-decoration:none;}
body.site .gc-contact-v717 a:hover {text-decoration:underline;}

/* V7.18 — readable login, contact info, no thin pale topbar divider */
body.site .site-header .gc-account-bar {border:0!important;border-bottom:0!important;box-shadow:none!important;}
body.site .site-header .gc-account-bar::before,body.site .site-header .gc-account-bar::after {border:0!important;box-shadow:none!important;}
body.site .gc-account-bar .wrap.gc-topbar-layout {display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;width:min(1180px,92%)!important;}
body.site .gc-topbar-contact {display:flex;align-items:center;gap:15px;min-width:0;color:#f6fff5;font-size:13px;font-weight:600;position:relative;z-index:3;}
body.site .gc-topbar-contact a,body.site .gc-topbar-contact a:visited {color:#f6fff5!important;-webkit-text-fill-color:#f6fff5!important;text-decoration:none!important;}
body.site .gc-topbar-contact a:hover {color:#d4f1ba!important;text-decoration:underline!important;}
body.site .gc-topbar-separator {width:1px;height:15px;background:rgba(255,255,255,.45);flex:none;}
body.site .gc-account-bar .gc-account-login,body.site .gc-account-bar .gc-account-login *,body.site .gc-account-bar .gc-account-actions .gc-account-login,body.site .gc-account-bar .gc-account-actions .gc-account-login * {color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:none!important;}
body.site .gc-account-bar .gc-account-login {border-color:rgba(255,255,255,.8)!important;background:rgba(0,44,32,.3)!important;}
@media(max-width:700px){body.site .gc-account-bar .wrap.gc-topbar-layout{gap:8px!important;}body.site .gc-topbar-contact{font-size:11px;gap:8px;}body.site .gc-topbar-contact a[href^="mailto:"]{display:none!important;}body.site .gc-topbar-separator{display:none!important;}}
@media(max-width:380px){body.site .gc-topbar-contact{font-size:10px;}}

/* Green Clinic V7.19 – embedded Medfile registration page */
body.site .gc-medfile-page { max-width: 1080px; margin: 20px auto 65px; padding: 25px 12px; }
body.site .gc-medfile-kicker { font-size: .8rem; font-weight: 750; color: #29824b; letter-spacing: .13em; }
body.site .gc-medfile-page h1 { color: #104532; font-size: clamp(2rem,4vw,3rem); margin: 12px 0; }
body.site .gc-medfile-page > p { color: #39564b; line-height: 1.7; }
body.site .gc-medfile-container { margin: 28px 0; min-height: 440px; padding: 16px; border-radius: 20px; background: #fff; box-shadow: 0 10px 38px rgba(6,55,35,.1); overflow: visible; }
body.site .gc-medfile-container iframe { max-width: 100%; }
body.site .gc-medfile-help a { color: #087747; font-weight: 700; }
@media(max-width: 600px){body.site .gc-medfile-page {padding: 12px 0 30px;}body.site .gc-medfile-container {padding: 5px;border-radius: 12px;}}
