:root {
    --color-cobi: #CD0183;
    --color-med: #0592BB;
    --color-cobi-med-text: #2B255C;
    --color-cobi-med-text-real: #9592AE;
    --color-cobi-med-text-real-opacity: rgba(149, 146, 174, 0.75);

    --color-icon-address: var(--color-cobi);
    --color-icon-phone: var(--color-med);

    --color-pink-light: #FCF3FA;
    --color-blue-light: #EEF7FD;

    --color-blue-main: #1aa3e8;
    --color-blue-dark: #0f7fc2;
    --color-blue-soft: rgba(26, 163, 232, 0.4);

    --accent: var(--color-cobi);
    --surface: rgba(255,255,255,0.85);
    --surface-2: rgba(255,255,255,0.65);
    --border: rgba(0,0,0,0.08);
    --shadow: 0 10px 30px rgba(0,0,0,0.06);
    --radius: 16px;    
    
}

body {
    font-family: 'Lato', sans-serif;
    background-color: #fff !important;

}

body .ast-primary-header-bar {
    border-bottom: none;
    box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.45);    
}

.page {
    position: relative;
}

body .site-main {
    width: 100%;
    max-width: 1500px;
}

.mobile {
    display: none;
}

.copyright {
    font-weight: 300;
    margin-left: 3px;
    margin-top: 10px;
}

.tile-content-hidden {
    display: unset !important;
}

#o-nas, #o-nas ~ * {
    margin-bottom: 0px !important;
}

.about__lead, .about__list, .about__note, .tile-text .about__more {
    display: none !important;
}

.ast-primary-header-bar,
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff; /* koniecznie ustaw tło, żeby nie było przenikania */
}

.ast-mobile-header-wrap,
.ast-primary-header,
.site-header {
    overflow: visible !important;
}

.custom-logo-link .custom-logo {
    width: 100px;
    height: auto;
    position: relative;
    left: -10px;
}

body .ast-logo-title-inline .ast-site-identity {
    padding-top: 0px;
    padding-bottom: 0px;
}

#content {
    position: relative;
}

#ast-desktop-header .site-primary-header-wrap {
    position: relative;
}

#ast-desktop-header .site-primary-header-wrap .top-buttons {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 150px;
    display: flex;
}

#ast-desktop-header .site-primary-header-wrap .top-buttons > button:not(:first-of-type) {
    margin-left: 10px;
}

.kobimed-top-container {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: auto;
    z-index: 10;
    aspect-ratio: 1920 / 400;
    overflow: hidden;
    border-bottom-right-radius: 120px;
    /*display: flex;*/
    /*align-items: center;*/
    /*border-bottom-right-radius: 120px;*/
}

.kobimed-top-container .wall {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 12;
    background-color: rgba(0, 0, 0, 0.3);
}

.kobimed-top-container img {
    width: 120%;
    max-width: unset;
    height: auto;
    position: absolute;
}

.site-main {
    position: relative;
    z-index: 15;
}

.head-title {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;

}

.head-title,
.head-title > div > h1,
.head-title > * {
    color: #fff;
    padding: 13px 0px;
    width: 100%;
    line-height: 1;
}

.head-title p,
.head-title > div > h1 {
    text-shadow:
        0 2px 6px rgba(0, 0, 0, 0.35),
        0 6px 18px rgba(0, 0, 0, 0.25);
}

.head-title > div {
    padding: 2% 0px 30px 0px;
}

.head-title > p {
    line-height: 1.5;
}

.head-title > p .thin {
    font-weight: 100;
}

.head-title h1 {
    text-transform: uppercase;
    font-size: 3em;
    font-weight: 400;
}

.head-title p {
    font-size: 1.4em;
    margin-bottom: 0px;
    line-height: 1.5;
}

.container .tile-contact a,
button#mobile-umow-wizyte,
.container button {
    background-color: transparent;
    border: solid #fff 2px;
    width: auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    margin-top: 26px;
    margin-left: 0px;
    border-radius: 50px;
    font-weight: 600;
}

.contact-boxes-tile {
    display: flex;
    margin-bottom: 50px;
}

.contact-boxes-tile > div {
    width: calc(50% - 25px);
    height: 100%;
    margin-top: 50px !important;
    margin-bottom: 50px;
    flex-direction: row;
    aspect-ratio: 12 / 3;
    padding: 0px;
    align-items: center;
    justify-content: space-around;
}

.contact-boxes-tile > div.hour-box {
    margin-bottom: -30px;
}

.contact-boxes-tile > div .iconned {
    display: flex;
    align-items: center;
}

.contact-boxes-tile > div a {
    margin-top: 0px !important;
}

.contact-boxes-tile .icon {
    margin-right: 10px;
}

.contact-boxes-tile > div + div {
    margin-left: 50px;
}

.site-primary-header-wrap > .top-buttons > button {
    border: none;
    display: flex;
    align-items: center;
    border-radius: 25px;
    box-shadow: none !important;
}

.home-page-hidden {
    display: none !important;
}

.head-buttons {
    display: flex;
    align-items: center;
}

.head-buttons > button:first-of-type {
    margin-right: 10px;
}

.head-buttons .zadzwon {
    background-color: var(--color-cobi);
    box-shadow:
        0 6px 14px rgba(232, 31, 103, 0.25),
        0 12px 30px rgba(232, 31, 103, 0.15);

    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);    
}

.head-buttons > button {
    width: 220px;
    display: flex;
    justify-content: center;
    margin-top: 0px;
}

.site-primary-header-wrap .zadzwon,
.site-primary-header-wrap .umow,
.head-title button {
    border-width: 1px;

    background-color: var(--color-med);
    color: #ffffff;

    padding: 14px 32px;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;


    box-shadow:
        0 6px 14px rgba(26, 163, 232, 0.25),
        0 12px 30px rgba(26, 163, 232, 0.15);

    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;

}

.site-primary-header-wrap .zadzwon {
    background-color: var(--color-cobi);
}

.site-primary-header-wrap .top-buttons > button i,
.container .tile-contact a > i,
.container button > i {
    font-size: 1.5em;
    margin-right: 8px;
    font-weight: 100;
}

.kobi, .med {
    text-shadow:
        -1px -1px 0 #cacaca,
        1px -1px 0 #cacaca,
        -1px 1px 0 #cacaca,
        1px 1px 0 #cacaca;
    font-weight: 400;

}

.kobi {
    color: #AD0050;
}

.med {
    color: #5594A3;
}

.site-main {
    width: 100%;
    aspect-ratio: 16 / 6;
}

.menu-link {
    font-weight: 800;
    text-transform: uppercase;
}

.page-row {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 30px;
}

.page-row > * {
    margin: 50px 0px;
}

.box-right {
    width: 30%;
    margin-right: 20px;
    max-width: 250px;
}

.tile-contact {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-style: solid;
    border-width: 2px;
    border-radius: 25px;
    padding: 30px;
    padding-top: 0px;
    aspect-ratio: 12 / 13;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);    
}

.tile-contact#icon-address {
    border-color: var(--color-icon-address);
}

.tile-contact#icon-phone {
    border-color: var(--color-icon-phone);
}

.tile-contact#icon-address * {
    color: var(--color-icon-address);
}

.tile-contact#icon-phone * {
    color: var(--color-icon-phone);
}

.tile-contact + .tile-contact {
    margin-top: 30px;
}

.tile-contact .title {
    text-align: center;
    font-size: 24px;
    text-transform: uppercase;
    font-weight: 400;
}

.tile-contact .value {
    font-weight: 300;
    text-align: center;
}

.tile-contact .icon {
    text-align: center;
    font-size: 60px;
}

.tile-contact .tile-button * {
    color: inherit;
}

.tile-contact .tile-button a {
    /*border-color: var(--ast-global-color-3);*/
    border-width: 1px;
    width: 100%;
    justify-content: center;
    text-decoration: none;
}

.tile-contact#icon-address a,
.tile-contact#icon-phone a {
    border: none;
}

.tile-contact#icon-address {
    background-color: var(--color-pink-light);
}

.tile-contact#icon-phone {
    background-color: var(--color-blue-light);
}

.tile-contact#icon-address a {
    background-color: var(--color-icon-address);
}

.tile-contact#icon-phone a,
.tile-contact#icon-phone .tile-button i,
.tile-contact#icon-address a,
.tile-contact#icon-address .tile-button i {
    color: #fff;
}

.tile-contact#icon-phone a {
    background-color: var(--color-icon-phone);
}

.tile-contact .tile-button {
    display: flex;
    justify-content: center;
}


.tile-big {
    width: 70%;
    display: flex;
}

.tile-big .tile-img {
    width: 50%;
    display: block;
}

.tile-big .tile-img > div {
    overflow: hidden;
    aspect-ratio: 55 / 75;
    border-radius: 25px;
    background-size: cover;
    background-position: center;
}

.tile-big .tile-text {
    width: 50%;
    padding: 10px;
    padding-left: 30px;
    line-height: 1.5;
}

.tile-big .tile-text .tile-content {
    font-weight: 100;
}

.tile-title,
.tile-big .tile-text .tile-title {
    font-size: 2.5em;
    font-weight: 900;
    margin-bottom: 20px;
}

.tile-big .tile-text .tile-content.expanded .paragraph-hidden {
    display: none;
}

.tile-big .tile-text .tile-content .expander {
    text-decoration: none;
    cursor: pointer;
}

#oferta {
    margin-right: 20px;
}


.oferta-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.tile-offer {
    /*background-color: var(--color-cobi-med-text);*/
    border-radius: 25px;
    flex: 0 0 calc(33.333% - 40px);    /* 3 kolumny */
    box-sizing: border-box;
    margin-bottom: 60px;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center bottom;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    display: flex;
    flex-direction: column-reverse;
    cursor: pointer;
}

.tile-offer .fig-description {
    background-color: #fff;
    height: calc(100% - 80px);
}

.tile-offer .figure {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%;
}

body > .snow {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 1400;
}

.tile-offer.full-screen {
    position: fixed;
    width: calc(100% - 20px);
    max-width: 900px;
    height: calc(100% - 50px);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1500;
    flex-direction: column;
}

.tile-offer.full-screen .title {
    padding: 0px;
    height: 65px;
}

.tile-offer.full-screen .title > span {
    width: 100%;
    height: 100%;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    font-size: 1.5em;
    padding-right: 50px;
}

.tile-offer.full-screen .fig-description {
    height: calc(100% - 65px);
    display: flex;
    flex-direction: row;
}

.tile-offer.full-screen .fig-description .figure {
    width: 50%;
}

.tile-offer.full-screen .fig-description .description {
    width: 50%;
    display: initial !important;
    height: 100%;
    overflow-y: scroll;
    padding: 50px 10px;
}

@media screen and (max-width: 640px) {
    .tile-offer.full-screen .fig-description {
        flex-direction: column;
    }
    .tile-offer.full-screen .fig-description > .description,
    .tile-offer.full-screen .fig-description > .figure {
        width: 100%;
    }
    
    .tile-offer.full-screen .fig-description > .description {
        padding-left: 20px;
        padding-right: 20px;
        
    }
    
    .tile-offer.full-screen .fig-description > .figure {
        width: calc(100% - 80px);
        margin: 15px auto;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
    }
    
    .tile-offer.full-screen .fig-description .description ul {
        margin-left: 20px;
    }
    
}


.tile-offer.full-screen .fig-description .description ul li > span:first-of-type {
    font-size: 1.4em;  
    margin-bottom: 15px;
    display: block;
}

.tile-offer.full-screen .fig-description .description ul li {
    margin-left: 30px;
    position: relative;
}

.tile-offer.full-screen .fig-description .description ul li::before {
    content: "✓";
    position: absolute;
    left: -40px;
    top: 0px;
    width: 20px;
    height: 20px;
    font-size: 1.5em;
    font-weight: 500;
    color: var(--color-med);
}

.tile-offer.full-screen .fig-description .description ul {
    list-style: none;
}

.tile-offer .title {
    width: 100%;
    height: 80px;
    padding: 15px 15%;
    /*background-color: var(--color-cobi-med-text-real-opacity);*/
    background-color: #fff;
    /*border-top-left-radius: 25px;*/
    /*border-top-right-radius: 25px;*/
    color: #fff;
    /*font-size: 25px;*/
    /*text-transform: uppercase;*/
    /*font-weight: 200;*/
    display: flex;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    position: relative;
}

.tile-offer .title .close-button {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
    color: #fff;
    font-size: 2em;
    text-decoration: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    
}

.tile-offer .title span {
    width: 85%;
    height: 40px;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    background-color: var(--color-cobi);
    opacity: 0.8;
    color: #fff;
    border-radius: 25px;
    padding: 0px 10px;
    line-height: 1;
}

.tile-content > * {
    font-weight: 500;
}

.about__lead{
    margin: 0 0 16px;
    color: #3a4a5a;
    line-height: 1.7;
    max-width: 52ch;
    border-bottom: solid var(--ast-global-color-7) 1px;
    padding-bottom: 20px;
    
}

.qualifications h4 {
    margin-bottom: 20px;
    display: inline-block;
}

.qualifications h4::before {
    content: ' ';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: var(--color-med);
    margin-right: 8px;
    border-radius: 25px;
}

.qualifications ul,
.about__list{
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: grid;
    gap: 10px;
    color: #2d3b49;
    padding-bottom: 20px;
    border-bottom: solid var(--ast-global-color-7) 1px;
}

.qualifications ul li,
.about__list li{
    position: relative;
    padding-left: 28px;
    line-height: 1.6;
}

/* różowy „ptaszek” jako punktor */
.qualifications ul li::before,
.about__list li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    /*background: rgba(232, 31, 103, 0.12);*/
    color: #e81f67;
    font-weight: 800;
    font-size: 14px;
    transform: translateY(2px);
}

.about__note{
    margin: 0 0 18px;
    color: #3a4a5a;
    line-height: 1.7;
}

.about__more{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    /*color: #0f7fc2;*/
    text-decoration: none;
    font-weight: 500;
    margin-top: 20px;
    outline: none;
}

.staff-item-box {
    /*box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 30px 0px;*/
    box-shadow: 0 6px 14px rgba(26, 163, 232, 0.05), 0 12px 30px rgba(26, 163, 232, 0.1);
    border-radius: 25px;
    display: flex;
    padding: 15px;
    width: 100%;
    /*max-width: 1000px;*/
    margin-bottom: 50px;
}

.staff-item-box .figure {
    width: 25%;
}
.staff-item-box .figure .fig {
    width: 100%;
    aspect-ratio: 4 / 7;
    background-size:cover;
    background-position: center;
    border-radius: 25px;
}

.staff-item-box .description-container {
    width: 60%;
    padding: 15px 20px;
}

.staff-item-box .action-container {
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.staff-item-box .action-container .btn-sm {
    display: flex;
    margin-left: auto;
    /*background-color: var(--color-med);*/
    border: solid var(--color-med) 1px;
    color: var(--color-med);
    border-radius: 25px;
    padding: 3px 15px;
    cursor: pointer;
    font-weight: 500;
}

.staff-item-box .action-container button {
    /*background: linear-gradient(135deg, #1aa3e8, #0f7fc2);*/
    background-color: var(--color-cobi);
    color: #fff;
    text-transform: none;
    font-weight: 300;
    font-size: 1.2em;
    /*box-shadow: 0 8px 22px rgba(26,163,232,0.35);*/    
    margin-left: auto;
}

.staff-item-box .description-container .name {
    font-size: 1.7em;
    font-weight: 700;
    margin-bottom: 20px;
}

.site-main > section > .container:first-of-type > h1 {
    text-align: center;
    margin: 30px auto;
    font-weight: 400;
    font-size: 2.5em;
}

.staff-person-properties {
    list-style: none;   
    margin-left: 0px;
}

.staff-person-properties li {
    margin-bottom: 20px;
}

.staff-person-properties li {
    display: flex;
}

.staff-person-properties li > div {
    display: flex;
    margin-left: 0px;
    background-color: var(--color-blue-light);
    color: var(--color-icon-phone);
    padding: 7px 10px;
    border-radius: 25px;
    font-weight: 600;
    align-items: center;
}

.staff-person-properties li > div span {
    line-height: 1.2;
}

.staff-person-properties li .point {
    margin-right: 5px;
}

.pricing{ padding: 64px 0; }

.pricing__header{ display:grid; gap:10px; margin-bottom:28px; }

.pricing__title{ margin:0; letter-spacing:-0.02em; }

.pricing__subtitle{ margin:0; opacity:0.8; }

.pricing-acc{ display:grid; gap:14px; }

.pricing-acc__item{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.pricing-acc__summary{
  cursor: pointer;
  padding: 16px 18px;
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
  list-style:none;
}

.pricing-acc__summary::-webkit-details-marker{ display:none; }

.pricing-acc__name{ 
    font-weight:700; 
    color: var(--color-med);
    font-size: 1.5em;
    text-transform: uppercase;
}

.pricing-acc__hint{
  font-size: .9rem;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(205,1,131,0.35);
  background: var(--color-cobi);
  color: #fff;
  opacity: 0.9;
}

.pricing-acc__content{ padding: 0 0 10px; }

.pricing-acc__item[open] .pricing-acc__summary{
  border-bottom: 2px solid rgba(205,1,131,0.22);
}

.pricing-list{ margin:0; padding: 8px 10px 14px; }

.pricing-item{
  list-style:none;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 14px 12px;
  margin: 10px 8px;
}

.pricing-item__main{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 12px;
}

.pricing-item__name{ font-weight:600; line-height:1.2; }

.pricing-item__price{
  font-weight:700;
  white-space:nowrap;
  padding: 6px 10px;
  border-radius:999px;
  border: 1px solid rgba(205,1,131,0.35);
  background: rgba(205,1,131,0.08);
}
.pricing-item__note{ margin-top:8px; font-size:.95rem; opacity:0.8; }

.kobimed-footer {
    margin-top: 50px;
    padding: 30px 0px;
  /*border-top: 1px solid rgba(0,0,0,0.08);*/
  
    border-top-left-radius: 150px;
    background-color: var(--color-blue-light);
  
  
}
.kobimed-footer__inner{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.kobimed-footer__right a{
  text-decoration:none;
  color: var(--color-cobi);
  text-decoration: none;
  font-size: 1em;
  font-weight: 500;
}
.kobimed-footer__right a:hover{
  text-decoration: none;
}

.kobimed-footer .logo-left {
    width: 150px;
    height: 50px;
    background-size: cover;
    background-position: center;
}

.kobimed-footer .logo-left > a {
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
    
}

.kobimed-footer .ast-container {
    
}

.map-and-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.contact-form {
    width: 45%;
    border: solid var(--color-med) 3px;
    border-radius: 25px;
    padding: 50px;
}

.contact-form .ff-default form.fluent_form_6 button.ff_btn_style {
    background-color: var(--color-cobi);
    color: #fff;
    border-radius: 25px;
}


.google-map {
    border: solid var(--color-cobi) 3px;
    border-radius: 25px;
    width: 45%;
    overflow: hidden;
    background-color: var(--color-pink-light);
}

.phone-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.phone-popup.active{
    display:flex;
}

.phone-popup-box{
    background:white;
    padding:30px;
    border-radius:14px;
    text-align:center;
    max-width:320px;
}

.phone-popup-title{
    font-weight:600;
    margin-bottom:10px;
}

.phone-popup-number{
    font-size:22px;
    font-weight:700;
    margin-bottom:20px;
}

.phone-popup-close{
    padding:10px 16px;
    cursor:pointer;
}

.google-reviews-section {
    padding: 72px 0;
}

.google-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.google-badge {
    display: flex;
    align-items: center;
    gap: 14px;
}

.google-badge__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4285F4, #34A853, #FBBC05, #EA4335);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.google-badge__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.google-badge__text strong {
    line-height: 1.1;
}

.google-badge__text span {
    font-size: 0.95rem;
    opacity: 0.75;
}

.google-reviews-link,
.google-reviews-footer__link {
    text-decoration: none;
    color: var(--color-cobi);
    /*border-bottom: 1px solid rgba(205, 1, 131, 0.35);*/
    transition: border-color .2s ease, opacity .2s ease;
}

.google-reviews-link:hover,
.google-reviews-footer__link:hover {
    border-bottom-color: #CD0183;
    opacity: 0.85;
}

.google-reviews-slider-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
}

.google-reviews-slider {
    display: flex;
    gap: 18px;
    overflow: hidden;
    scroll-behavior: smooth;
    width: 100%;
}

.google-review-card {
    flex: 0 0 calc((100% - 36px) / 3);
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.google-review-card__top {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.google-review-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.google-review-card__avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.google-review-card__avatar--placeholder {
    background: rgba(205, 1, 131, 0.10);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.google-review-card__author-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.google-review-card__name {
    font-weight: 700;
    line-height: 1.2;
}

.google-review-card__source {
    font-size: 0.9rem;
    opacity: 0.7;
}

.google-review-card__rating {
    font-size: 1rem;
    line-height: 1;
}

.google-review-card__rating .star {
    opacity: 0.25;
}

.google-review-card__rating .star.is-filled {
    opacity: 1;
    color: #CD0183;
}

.google-review-card__content {
    line-height: 1.65;
    font-size: 0.97rem;
    opacity: 0.92;
}

.google-reviews-nav {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(205, 1, 131, 0.25);
    background: rgba(205, 1, 131, 0.08);
    border-radius: 999px;
    cursor: pointer;
    font-size: 1.8rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, opacity .2s ease;
    flex-shrink: 0;
}

.google-reviews-nav:hover {
    transform: translateY(-1px);
    opacity: 0.85;
}

.google-reviews-footer {
    margin-top: -20px;
    text-align: center;
}

.google-reviews-slider{
    scroll-behavior:smooth;
}

.google-reviews-slider {
    scroll-snap-type: x mandatory;
}

.google-review-card {
    scroll-snap-align: start;
}

.google-reviews-slider-wrap {
    display: block !important;
    position: relative;
}

.google-reviews-nav {
    display: none !important;
}

.google-reviews-slider {
    width: 100%;
    display: flex;
    gap: 18px;
    overflow: hidden;
    justify-content: flex-start;
    padding-bottom: 60px;
}

.google-review-card {
    flex: 0 0 calc((100% - 36px) / 3);
}

.google-reviews-slider::-webkit-scrollbar {
    display: none;
}

.google-reviews-slider {
    scroll-snap-type: x mandatory;
}

.google-review-card {
    scroll-snap-align: start;
}

.google-reviews-slider {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.google-reviews-slider::-webkit-scrollbar {
    display: none;
}

.google-reviews-slider::-webkit-scrollbar {
    display: none;
}

.call-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    padding:20px;
}

.call-modal.active{
    display:flex;
}

.call-modal__box{
    width:100%;
    max-width:360px;
    background:#fff;
    border-radius:18px;
    padding:24px;
    text-align:center;
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.call-modal__title{
    font-weight:700;
    margin-bottom:10px;
}

.call-modal__number{
    font-size:1.3rem;
    font-weight:700;
    margin-bottom:20px;
}

.call-modal__actions{
    display:grid;
    gap:10px;
}

.call-modal__btn{
    border:1px solid rgba(0,0,0,.1);
    /*background:#fff;*/
    border-radius:12px;
    padding:12px 14px;
    cursor:pointer;
    
}

.call-modal__btn--primary{
    background:#CD0183;
    color:#fff;
    border-color:#CD0183;
}

@media (max-width: 680px) {
    .google-review-card {
        flex: 0 0 88%;
        padding: 16px;
    }

    .google-review-card__content {
        font-size: 0.95rem;
        line-height: 1.55;
    }
}

@media (max-width: 1024px) {
    .google-review-card {
        flex: 0 0 calc((100% - 18px) / 2);
    }
}

@media (max-width: 680px) {
    .google-review-card {
        flex: 0 0 100%;
    }
}

@media (max-width: 1024px) {
    .google-review-card {
        flex: 0 0 calc((100% - 18px) / 2);
    }
}

@media (max-width: 680px) {
    .google-reviews-section {
        padding: 56px 0;
    }

    .google-reviews-slider-wrap {
        gap: 10px;
    }

    .google-review-card {
        min-width: 100%;
        padding: 18px;
    }

    .google-reviews-nav {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 1468px) {
    body .head-title,
    body .head-title {
        font-size: 13px;
    }
    .container button {
        font-size: 12px;
        margin-top: 10px
    }
}

@media screen and (max-width: 1200px) {
    body .head-title,
    body .head-title {
        font-size: 10px;
    }

    .container button {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    body .head-title > div {
        padding-bottom: 15px;
    }

    .kobimed-top-container {
        border-bottom-right-radius: 30px;
    }
    
    .kobimed-footer {
        border-top-left-radius: 30px;
    }
    
    .container button {
        font-size: 12px;
        margin-top: 0px
    }
    .tile-offer {
        flex: 0 0 calc(50% - 15px);
    }

}
@media screen and (max-width: 921px) {
    .desktop {
        display: none !important;
    }

    .mobile {
        display: inherit !important;
    }

    .kobimed-top-container {
        aspect-ratio: 1920 / 830;
        border-bottom-right-radius: 30px;
    }

    .kobimed-top-container img {
        top: unset !important;
    }

    body .head-title,
    body .head-title {
        font-size: 8px;
    }

    body .head-title h1 {
        font-size: 3.5em;
    }
    body .head-title p {
        font-size: 2em;
    }

    body .head-title > * {
        padding: 8px;
    }

    .site-header,
    .ast-primary-header-bar {
        position: sticky;
        top: 0;
        z-index: 999;
    }

    #o-nas ~ * {
        margin-bottom: 50px !important;
    }
    
    .tile-big {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 0px;
    }

    .tile-big .tile-img {
        display: inline;
        width: 40%;
        box-sizing: border-box;
        float: left;
        margin-right: 15px;
    }

    .tile-big .tile-text {
        display: inline;
    }

    .page-row {
        /*display: block;*/
        flex-direction: column-reverse;
    }

    .box-right {
        width: 100%;
        max-width: unset;
        display: flex;
        justify-content: space-evenly;
    }

    .tile-contact {
        width: calc(50% - 10px);
        aspect-ratio: 16 / 9;
    }

    .tile-contact + .tile-contact {
        margin-top: 0px;
        margin-left: 20px;
    }

    #ast-mobile-header {
        position: relative;
    }
    
    .mobile-buttons {
        position: absolute;
        left: calc(50% + 15px);
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 1000;
        display: flex !important;
    }
    
    .mobile-buttons > button {
        padding: 12px 20px;
        cursor: pointer;
        display: flex !important;
        align-items: center;
        border: none;
        border-width: 0px !important;
        border-radius: 25px !important;
        text-transform: uppercase;
    }
    
    .mobile-buttons > button:not(:first-of-type) {
        margin-left: 10px;
    }
    
    
    
    .mobile-buttons > button#mobile-umow-wizyte {
        background-color: var(--color-med) !important;
    }
    
    .mobile-buttons > button#mobile-zadzwon {
        background-color: var(--color-cobi) !important;
    }
    
    .mobile-buttons > button,
    .mobile-buttons > button * {
        color: #fff;
        font-weight: 700;
        font-size: 12px;
    }

    .mobile-buttons > button i {
        font-size: 17px;
        margin-right: 3px;
    }

    .mobile-buttons button {
        border-color: var(--color-cobi-med-text);
        border-width: 1px;
        margin-top: 0px !important;
    }
    
    #oferta {
        margin-right: 0px;
    }
    
    .staff-items > .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .staff-item-box {
        flex-wrap: wrap;
        width: calc(50% - 20px);
        flex-flow: column;
    }
    
    .staff-item-box .figure {
        width: 100%;
        order: 1;
        margin: 0px;
    }
    
    .staff-item-box .action-container {
        order: 2;
        width: 100%;
        flex-direction:unset;
        margin-top: 15px;
    }
    
    .staff-item-box .action-container .btn-sm {
        margin: auto;
        margin-left: unset;
    }
    
    .staff-item-box .action-container button {
        margin: auto;
        margin-right: unset;
    }
    
    .staff-item-box .description-container {
        order: 3;
    }
    
    .staff-item-box .figure .fig {
        aspect-ratio: 5 / 4;
        background-position: top center;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
    
    .staff-item-box .description-container {
        width: 100%;
    }
    
    .map-and-contact {
        display: block;
    }
    
    .map-and-contact > * {
        width: 100%;
        margin-bottom: 50px;
    }
    
    .map-and-contact .google-map {
        text-align: center;
    }
    
    .contact-boxes-tile {
        display: block;
    }
    
    .contact-boxes-tile > div {
        width: 100%;
        aspect-ratio: 12 / 3;
        margin-left: 0px !important;
        border-radius: 15px;
    }
    
    .contact-boxes-tile > div.hour-box {
        margin-bottom: inherit;
    }
    
}

@media screen and (max-width: 840px) {
    .oferta-line {
        display: block;
    }

    .tile-offer {
        /*display: block;*/
        width: 100%;
        aspect-ratio: 5 / 3;
    }
}

@media screen and (max-width: 840px) and (min-width: 641px) {
    .action-container {
        flex-wrap: wrap;
        flex-direction: column-reverse !important;
    }
    
    .action-container > * {
        margin: 8px auto !important;
        justify-content: center;
        width: 250px !important;
    }
}

@media screen and (max-width: 640px) {
    .staff-item-box {
        width: 100%;
    }
    
    .mobile-buttons {
        height: 45px;
    }
    
    .mobile-buttons > button {
        border-radius: 50% !important;
        padding: 0px !important;
        width: 45px !important;
        justify-content: center;
    }
    
    .mobile-buttons > button span {
        display: none;
    }
    
    .mobile-buttons > button i {
        font-size: 25px;
        font-weight: 100;
    }
    
    .mobile-buttons > button:not(:first-of-type) {
        margin-left: 30px;
    }
    
}

@media screen and (max-width: 560px) {
    .tile-contact {
        padding: 10px;
        padding-top: 0px;
    }
    .tile-contact .icon {
        font-size: 32px;
    }
    .tile-contact .title {
        font-size: 16px;
    }
    .tile-contact .tile-button a {
        padding: 8px 15px;
        font-size: 12px;
    }
    .tile-offer {
        /*display: block;*/
        width: 100%;
        aspect-ratio: 1 / 1;
    }
    .action-container {
        flex-wrap: wrap;
        flex-direction: column-reverse !important;
    }
    
    .action-container > * {
        margin: 8px auto !important;
        justify-content: center;
        width: 250px !important;
    }
}

@media screen and (max-width: 320px) {
    body .head-title h1 {
        font-size: 2.5em;
    }
}