html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}


fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}


textarea {
    resize: vertical;
}

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}


*{
    font-family: 'Montserrat', sans-serif;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'Syne', sans-serif;
    letter-spacing: -0.01em;
}


/*Cores*/

.blue{
    color:#444359;
}
.dark{
    color:#313131;
}
.black{
    color:#000000;
}
.purple-dark{
    color:#30203a;
}
.motiva{
    color:#662d89;
}
.pink-dark{
    color:#ee93c9;
}
.pink{
    color:#eeb0cf;
}
.pink-light{
    color:#ffe3e4;
}
.gray{
    color:#f2edf5;
}
.white{
    color:#ffffff;
}
.red{
    color:#ff0000;
}
.green{
    color:#0db500;
}
.yellow{
    color:#c9c72d;
}

.bg-blue{
    background-color:#444359;
}
.bg-dark{
    background-color:#313131;
}
.bg-black{
    background-color:#000000;
}
.bg-purple-dark{
    background-color:#30203a;
}
.bg-motiva{
    background-color:#662d89;
}
.bg-motiva-a90{
    background-color:rgba(102,45,137,.9);
}


.bg-pink-dark{
    background-color:#ee93c9;
}
.bg-pink{
    background-color:#eeb0cf;
}
.bg-pink-a90{
    background-color:rgba(238,176,207,.9);
}

.bg-pink-a80{
    background-color:rgba(238,176,207,.8);
}

.bg-pink-a70{
    background-color:rgba(238,176,207,.7);
}

.bg-pink-a60{
    background-color:rgba(238,176,207,.6);
}

.bg-pink-a50{
    background-color:rgba(238,176,207,.5);
}

.bg-pink-a20{
    background-color:rgba(238,176,207,.2);
}


.bg-pink-light{
    background-color:#ffe3e4;
}
.bg-gray{
    background-color:#f2edf5;
}
.bg-white{
    background-color:#ffffff;
}
.bg-red{
    background-color:#ff0000;
}
.bg-green{
    background-color:#0db500;
}
.bg-yellow{
    background-color:#c9c72d;
}

.border-motiva{
    border:solid 2px #662d89;
    border-radius: 4px;
}


.border-white{
    border:solid 2px #fff;
    border-radius: 4px;
}

.hover-motiva:hover{
    background-color: #662d89;
    color: #fff;
    text-decoration: none;
}

.hover-pink:hover{
    background-color: #eeb0cf;
    color: #662d89;
    text-decoration: none;
}


/*custom */

.videoWrapper {
    position: relative;
    padding-bottom: 54.65%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.trans-2{
    transition: .2s;
    -moz-transition: .2s;
    -o-transition: .2s;
    -webkit-transition: .2s;
}

.blockquote:after{
    content: ' “ ';
    position: absolute;
    left:-30px;
    font-size: 9em;
    top: 40px;
    font-weight: bold;
    color: rgba(102,45,137,.1);
}

@media only screen and (max-width: 480px) {


    .blockquote:after{
        content: ' “ ';
        position: absolute;
        left:-60px;
        font-size: 9em;
        top: 40px;
        font-weight: bold;
        color: rgba(102,45,137,.1);
    }

    .s-xs-dot7{
        font-size: .3em;
    }

}

.divide:after{
    content: '';
    position: absolute;
    top:0;
    bottom: 0;
    right:0;
    width: 1px;
    background: #cccccc;
}

.divide-x{
    display: block;
    float: left;
    width: 100%;
    height: 1px;
    background: #cccccc;
    border: none !important;
    margin-top: 0;
    margin-bottom: 0;
}

.read-plus{
    /*max-height: 600px;
    min-height: 600px;*/

    -moz-column-count:3;
    -moz-column-gap: 3%;
    -moz-column-width: 30%;
    -webkit-column-count:3;
    -webkit-column-gap: 3%;
    -webkit-column-width: 30%;
    column-count: 3;
    column-gap: 3%;
    column-width: 30%;

}

/*
.scroll-plus{
    display: block;
    float: left;
    width: 100%;
    overflow-y: scroll;
}


*/



.hide {
    display: none;
}

.modal-backdrop {
    background-color: #662d89;
}

.modal-backdrop.in {
    opacity: .97;
}

.close {
    position: absolute;
    top:30px;
    right: 40px;
    color: rgb(255, 255, 255);
    opacity: 1;
}

a:focus {
    color: #662d89;
    /*color: #fff;*/
    text-decoration: none;
}

.btn-facebook {
    color: #fff;
    background-color: #3b5998;
    border-color: rgba(0,0,0,0.2);
}

.btn:hover, .btn:focus, .btn.focus {
    color: #fff;
}

/*.oModal {
    margin-top: 15%;
}*/

.datepicker-inline, .table-condensed {
    width: 100%;
}



.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
    background-color: #006dcc;
    background-image: -moz-linear-gradient(to bottom, #7f00cc, #8600cc);
    background-image: -ms-linear-gradient(to bottom, #7f00cc, #8600cc);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#7f00cc), to(#8600cc));
    background-image: -webkit-linear-gradient(to bottom, #7f00cc, #8600cc);
    background-image: -o-linear-gradient(to bottom, #7f00cc, #8600cc);
    background-image: linear-gradient(to bottom, #7f00cc, #8600cc);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7f00cc', endColorstr='#8600cc', GradientType=0);
    border-color: #8600cc #8600cc #002a80;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}



@media only screen and (max-width:768px) {
    .m-header {
        min-height: auto !important;
    }

    .m-video{
        position: relative !important;
        bottom: -40px !important;
    }

    .m-pink{
        min-height: auto !important;
    }

    .m-pink img{
        max-width: 300px;
        margin: 0 auto;
        width: 100%;
    }

    .m-pink .center-y{
        position: relative;
        left: auto;
        top: auto;
        transform: translate(0%, 0%);
        padding: 50px 0;
    }

    .mb-sm-20 {
        margin-bottom: 20px !important;
    }

    .img-volta{
        position: relative !important;
    }

    .img-volta img{
        margin: 0 !important;

    }

    .m-text{
        margin: 0px !important;
        padding: 0 30px 30px !important;
        width: 100% !important;
    }

    .m-cem{
        min-width: 100% !important;
    }

    .img-vai{
        padding: 0 0px 0 30px !important;
    }
}





#registre input{
    border: solid 1px #fff;
    background: transparent;
    padding: 10px 20px;
    margin: 0 0 5px;
    width: 100%;
    font-size: 1.4em;
    color: #fff;
    font-weight: 300;
}


#registre input::-webkit-input-placeholder {
    color: #fff;
}
#registre input:-moz-placeholder {
    color: #fff;
}
#registre input::-moz-placeholder {
    color: #fff;
}
#registre input:-ms-input-placeholder {
    color: #fff;
}


.select-size{
    width: 100%;
    padding: 15px;
    margin: 0 0 5px;
    border:none;
}

.select-size option{
    width: 100%;
    padding: 10px 15px;
    margin: 5px 0;
    border:solid 1px #662d89;
    color: #662d89;
    font-style: 1.2em;
    text-transform: uppercase;
}

@media only screen and (min-width:768px) {
    .select-size{
        min-height: 211px;
    }
}

.btn-week{
    display: block;
    float: left;
    padding: 15px;
    background: #fff;
    width: calc(50% - 5px);
    cursor: pointer;
    text-align: center;
    font-size: 1.1em;
    text-transform: uppercase;
    color: #662d89;
    margin-bottom: 10px;
}

.btn-week:hover,
.btn-week.active
{
    background: #462460;
    color: #fff;
}

@media only screen and (max-width:470px) {

    .btn-week{
        width: 100%;
        margin: 0 0 10px !important;
    }

    .xs-text-justify{
        text-align: justify;
    }

    .s-xs-1{
        font-size: 1em;
    }

}

a.nofocusmotiva:focus{
    color: #fff;
}











/* Nagłówki */

html{
    scroll-behavior: smooth;
}

.hero-title{
    font-size: 36px;
    font-size: clamp(22px, 3vw, 38px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.hero-img{
    border-radius: 28px;
}

@media only screen and (max-width:767px) {
    .hero-img{
        border-radius: 18px;
    }
}

.section-head{
    max-width: 960px;
    margin: 0 auto 64px;
    padding: 0 15px;
    text-align: center;
}

.section-band{
    padding: 72px 0 64px;
}

.section-band .section-head{
    margin-bottom: 0;
}

.eyebrow{
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(238,176,207,.35);
    color: #662d89;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.section-title{
    margin: 0;
    color: #662d89;
    font-size: 56px;
    font-size: clamp(30px, 4.6vw, 62px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.section-title:after{
    content: '';
    display: block;
    width: 72px;
    height: 6px;
    margin: 26px auto 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #662d89, #ee93c9);
}

.section-head-light .eyebrow{
    background: rgba(255,255,255,.12);
    color: #ffe3e4;
}

.section-head-light .section-title{
    color: #ffffff;
}

.section-head-light .section-title:after{
    background: linear-gradient(90deg, #ee93c9, #ffe3e4);
}

.statement{
    font-size: 40px;
    font-size: clamp(22px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}


/* Kroki samobadania */

.steps-nav{
    display: flex;
    max-width: 640px;
    margin: -16px auto 80px;
    padding: 0;
    list-style: none;
}

.steps-nav li{
    position: relative;
    flex: 1;
    text-align: center;
}

.steps-nav li + li:before{
    content: '';
    position: absolute;
    top: 27px;
    left: -50%;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #662d89, #ee93c9);
}

.steps-nav a{
    position: relative;
    z-index: 1;
    display: block;
    color: #662d89;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.steps-nav a:hover,
.steps-nav a:focus{
    color: #662d89;
    text-decoration: none;
}

.steps-nav a span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #662d89;
    box-shadow: 0 0 0 8px #ffffff;
    color: #ffffff;
    font-size: 19px;
    font-weight: 700;
    transition: .2s;
}

.steps-nav a:hover span,
.steps-nav a:focus span{
    background: #ee93c9;
    color: #662d89;
    transform: translateY(-3px);
}

.steps{
    max-width: 1040px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.step{
    position: relative;
    display: grid;
    grid-template-columns: 72px 300px 1fr;
    column-gap: 48px;
    align-items: start;
    padding-bottom: 80px;
    scroll-margin-top: 40px;
}

.step:last-child{
    padding-bottom: 0;
}

/* linia łącząca kolejne kroki */
.step:before{
    content: '';
    position: absolute;
    top: 72px;
    bottom: 0;
    left: 35px;
    width: 2px;
    background: linear-gradient(#662d89, rgba(238,176,207,.5));
}

.step:last-child:before{
    display: none;
}

.step-marker{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #662d89;
    box-shadow: 0 10px 24px rgba(102,45,137,.25);
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
}

.step-media{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    padding: 36px 36px 44px;
    border-radius: 28px;
    background: #ffe3e4;
    overflow: hidden;
}

.step-media:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 8px;
    background: linear-gradient(90deg, #662d89, #ee93c9);
}

.step-media img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.step-body{
    padding-top: 4px;
}

.step-label{
    display: block;
    margin-bottom: 6px;
    color: #c2468f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.step-title{
    margin: 0 0 20px;
    color: #662d89;
    font-size: 34px;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.1;
}

.step-body p{
    margin: 0 0 14px;
    color: #313131;
    font-size: 17px;
    line-height: 1.7;
}

@media only screen and (max-width:991px) {
    .step{
        grid-template-columns: 56px 240px 1fr;
        column-gap: 28px;
    }

    .step:before{
        top: 56px;
        left: 27px;
    }

    .step-marker{
        width: 56px;
        height: 56px;
        font-size: 19px;
    }

    .step-media{
        height: 260px;
    }
}

@media only screen and (max-width:767px) {
    .section-head{
        margin-bottom: 36px;
    }

    .section-band{
        padding: 44px 0 36px;
    }

    .steps-nav{
        margin: -8px auto 56px;
    }

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

    .step{
        grid-template-columns: 44px 1fr;
        column-gap: 18px;
        padding-bottom: 56px;
    }

    .step:before{
        top: 44px;
        left: 21px;
    }

    .step-marker{
        grid-row: 1 / span 2;
        width: 44px;
        height: 44px;
        font-size: 16px;
    }

    .step-media{
        grid-column: 2;
        height: 220px;
        margin-bottom: 24px;
        padding: 24px 24px 32px;
        border-radius: 20px;
    }

    .step-body{
        grid-column: 2;
    }

    .step-body p{
        font-size: 16px;
    }
}


/* Badanie w klinice */

.clinic-body{
    padding-top: 90px;
    padding-bottom: 100px;
}

.clinic p{
    margin: 0 0 14px;
    color: #313131;
    font-size: 16px;
    line-height: 1.7;
}

.clinic-title{
    margin: 0 0 18px;
    color: #662d89;
    font-size: 30px;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 700;
    line-height: 1.15;
}

.clinic-compare{
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 64px;
    align-items: center;
    max-width: 1040px;
    margin: 0 auto 100px;
}

.clinic-media{
    padding: 48px;
    border-radius: 50% 50% 32px 32px;
    background: #ffe3e4;
}

.clinic-media img{
    display: block;
    width: 100%;
}

.clinic-vs{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    margin-top: 28px;
}

.clinic-vs-card{
    padding: 22px 24px;
    border-radius: 20px;
    background: #f2edf5;
}

.clinic-vs-card span{
    display: block;
    color: #555555;
    font-size: 14px;
    line-height: 1.4;
}

.clinic-vs-card .clinic-vs-label{
    margin-bottom: 8px;
    color: #c2468f;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.clinic-vs-card strong{
    display: block;
    margin-bottom: 4px;
    color: #662d89;
    font-family: 'Syne', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
}

.clinic-vs-card-dark{
    background: #662d89;
}

.clinic-vs-card-dark strong,
.clinic-vs-card-dark span{
    color: #ffffff;
}

.clinic-vs-card-dark .clinic-vs-label{
    color: #eeb0cf;
}

.clinic-vs-badge{
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ee93c9;
    box-shadow: 0 0 0 6px #ffffff;
    color: #30203a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    transform: translate(-50%, -50%);
}

.clinic-stages{
    display: grid;
    grid-template-columns: 1fr 64px 1fr;
    align-items: stretch;
    margin-bottom: 100px;
}

.clinic-stage{
    position: relative;
    padding: 44px 40px 36px;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(102,45,137,.10);
    overflow: hidden;
}

.clinic-stage:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #662d89, #ee93c9);
}

.clinic-stage-label{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #c2468f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.clinic-stage-label b{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #662d89;
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 0;
}

.clinic .clinic-note{
    position: relative;
    margin: 20px 0;
    padding: 16px 20px 16px 52px;
    border-radius: 16px;
    background: #ffe3e4;
    color: #662d89;
    font-weight: 600;
}

.clinic-note .fa{
    position: absolute;
    top: 18px;
    left: 20px;
    font-size: 20px;
}

.clinic-arrow{
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 auto;
    border-radius: 50%;
    background: #662d89;
    color: #ffffff;
    font-size: 16px;
}

.clinic-why{
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 56px;
    align-items: center;
    padding: 56px 64px;
    border-radius: 32px;
    background: #662d89 url(../images/backgrounds/wave.png) no-repeat center / cover;
}

.clinic-why-media{
    padding: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
}

.clinic-why-media img{
    display: block;
    width: 100%;
}

.clinic-why .clinic-title,
.clinic .clinic-why p{
    color: #ffffff;
}

.clinic .clinic-why .clinic-why-lead{
    color: #ffe3e4;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}

@media only screen and (max-width:991px) {
    .clinic-compare{
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .clinic-media{
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
    }

    .clinic-stages{
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .clinic-arrow{
        transform: rotate(90deg);
    }

    .clinic-why{
        grid-template-columns: 200px 1fr;
        gap: 36px;
        padding: 44px 40px;
    }
}

@media only screen and (max-width:767px) {
    .clinic-body{
        padding-top: 40px;
        padding-bottom: 56px;
    }

    .clinic-compare,
    .clinic-stages{
        margin-bottom: 56px;
    }

    .clinic-media{
        max-width: 260px;
        padding: 32px;
    }

    .clinic-vs{
        grid-template-columns: 1fr;
    }

    .clinic-vs-card{
        padding: 18px 20px;
    }

    .clinic-vs-badge{
        box-shadow: 0 0 0 5px #ffffff;
    }

    .clinic-stage{
        padding: 36px 24px 28px;
        border-radius: 22px;
    }

    .clinic-why{
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 40px 24px;
        border-radius: 24px;
    }

    .clinic-why-media{
        width: 180px;
        margin: 0 auto;
    }
}


/* Samobadanie piersi */

.selfexam-body{
    padding-top: 72px;
    padding-bottom: 0;
}

.selfexam-grid{
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto;
}

.selfexam-tile{
    padding: 44px;
    border-radius: 28px;
}

.selfexam-tile p{
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
}

.selfexam-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 28px;
    border-radius: 16px;
    background: rgba(255,255,255,.14);
    color: #ffffff;
    font-size: 24px;
}

.selfexam-freq{
    background: #662d89 url(../images/backgrounds/wave.png) no-repeat center / cover;
}

.selfexam-title{
    margin: 0 0 16px;
    color: #ffffff;
    font-size: 44px;
    font-size: clamp(28px, 3.6vw, 48px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

.selfexam-tile.selfexam-freq p{
    color: rgba(255,255,255,.88);
}

.selfexam-stat{
    border: 1px solid #efe4f4;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(102,45,137,.08);
}

.selfexam-label{
    display: block;
    margin-bottom: 8px;
    color: #c2468f;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.selfexam-tile .selfexam-value{
    color: #662d89;
    font-size: 96px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
}

.selfexam-meter{
    height: 12px;
    margin: 24px 0 28px;
    border-radius: 6px;
    background: #e8dcf0;
    overflow: hidden;
}

.selfexam-meter span{
    display: block;
    height: 100%;
    border-radius: 6px;
    background: #662d89;
}

.selfexam-tile .selfexam-caption{
    color: #313131;
}

.selfexam-note{
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 28px;
    background: #ffe3e4;
}

.selfexam-note .selfexam-icon{
    flex-shrink: 0;
    margin-bottom: 0;
    background: #662d89;
}

.selfexam-tile.selfexam-note p{
    color: #662d89;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.6;
}

@media only screen and (max-width:767px) {
    .selfexam-body{
        padding-top: 40px;
        padding-bottom: 0;
    }

    .selfexam-grid{
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .selfexam-tile{
        padding: 28px 24px;
        border-radius: 22px;
    }

    .selfexam-tile .selfexam-value{
        font-size: 60px;
    }

    .selfexam-note{
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .selfexam-tile.selfexam-note p{
        font-size: 17px;
    }
}


/* Objawy */

.symptoms{
    padding: 0 0 100px;
    background: rgba(238,176,207,.2);
}

.symptoms-group{
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: 48px;
    align-items: start;
    max-width: 1140px;
    margin: 0 auto 64px;
    padding-bottom: 64px;
    border-bottom: 1px solid #efdfe9;
}

.symptoms-group:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.symptoms-head{
    position: sticky;
    top: 32px;
}

.symptoms-num{
    display: block;
    margin-bottom: 12px;
    color: #eeb0cf;
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
}

.symptoms-title{
    margin: 0 0 16px;
    color: #662d89;
    font-size: 30px;
    font-size: clamp(22px, 2.6vw, 34px);
    font-weight: 700;
    line-height: 1.1;
}

.symptoms-count{
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: #662d89;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.symptoms-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.symptoms-tile{
    padding: 24px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(102,45,137,.06), 0 10px 30px rgba(102,45,137,.06);
    transition: transform .2s, box-shadow .2s;
}

.symptoms-tile:hover{
    box-shadow: 0 18px 40px rgba(102,45,137,.14);
    transform: translateY(-4px);
}

.symptoms-tile img{
    display: block;
    width: 76px;
    height: 76px;
    margin-bottom: 18px;
}

.symptoms-tile p{
    margin: 0;
    color: #30203a;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
}

.symptoms-note{
    display: block;
    margin-top: 8px;
    color: #6b5a75;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}

/* samotny kafelek w ostatnim rzędzie rozciąga się na całą szerokość */
.symptoms-tile:last-child:nth-child(3n+1){
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 20px;
}

.symptoms-tile:last-child:nth-child(3n+1) img{
    flex-shrink: 0;
    margin-bottom: 0;
}

.symptoms-discharge{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
    align-items: center;
    padding: 32px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(102,45,137,.06), 0 10px 30px rgba(102,45,137,.06);
}

.symptoms-discharge-icons{
    display: flex;
    gap: 12px;
}

.symptoms-discharge-icons img{
    width: 96px;
    height: 96px;
}

.symptoms-discharge p{
    margin: 0;
    color: #30203a;
    font-size: 17px;
    line-height: 1.6;
}

@media only screen and (max-width:991px) {
    .symptoms-group{
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .symptoms-head{
        position: static;
    }

    .symptoms-grid{
        grid-template-columns: repeat(2, 1fr);
    }

    .symptoms-tile:last-child:nth-child(3n+1){
        display: block;
        grid-column: auto;
    }

    .symptoms-tile:last-child:nth-child(3n+1) img{
        margin-bottom: 12px;
    }

    .symptoms-tile:last-child:nth-child(odd){
        display: flex;
        grid-column: 1 / -1;
        align-items: center;
        gap: 16px;
    }

    .symptoms-tile:last-child:nth-child(odd) img{
        flex-shrink: 0;
        margin-bottom: 0;
    }
}

@media only screen and (max-width:767px) {
    .symptoms{
        padding: 0 0 56px;
    }

    .symptoms-group{
        margin-bottom: 44px;
        padding-bottom: 44px;
    }

    .symptoms-num{
        font-size: 32px;
    }

    .symptoms-grid{
        gap: 12px;
    }

    .symptoms-tile{
        padding: 16px;
        border-radius: 20px;
    }

    .symptoms-tile img{
        width: 56px;
        height: 56px;
        margin-bottom: 12px;
    }

    .symptoms-tile p{
        font-size: 14px;
    }

    .symptoms-note{
        font-size: 12px;
    }

    .symptoms-discharge{
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px 20px;
        text-align: center;
    }

    .symptoms-discharge-icons{
        justify-content: center;
    }

    .symptoms-discharge-icons img{
        width: 80px;
        height: 80px;
    }

    .symptoms-discharge p{
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .symptoms-tile{
        transition: none;
    }

    .symptoms-tile:hover{
        transform: none;
    }
}


/* Zdrowe nawyki */

.habit-card{
    border-radius: 28px;
}

@media only screen and (max-width:767px) {
    .habit-card{
        border-radius: 22px;
    }
}


/* Mity */

.myth-tag{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.myth-tag .fa{
    font-size: 12px;
}

.myth-tag-false{
    background: #ffe3e4;
    color: #b8336f;
}

.myth-tag-true{
    background: #e6f4ea;
    color: #1f7a3f;
}

.myth-more{
    margin-top: 14px;
}

.myth-more summary{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #662d89;
    font-size: 14px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

.myth-more summary::-webkit-details-marker{
    display: none;
}

.myth-more summary:after{
    content: '\f107';
    font-family: 'FontAwesome';
    font-size: 16px;
    transition: transform .2s;
}

.myth-more[open] summary:after{
    transform: rotate(180deg);
}

.myth-more summary:focus-visible{
    border-radius: 4px;
    outline: 3px solid #ee93c9;
    outline-offset: 3px;
}

.myth-more-close,
.myth-more[open] .myth-more-open{
    display: none;
}

.myth-more[open] .myth-more-close{
    display: inline;
}

.myth-more-body{
    margin-top: 12px;
    color: #4a3d53;
    font-size: 14px;
    line-height: 1.65;
}

.myth-more-body p{
    margin: 0 0 10px;
}

.myth-more-body ul{
    margin: 0;
    padding-left: 18px;
}

.myth-more-body li{
    margin-bottom: 8px;
}


.myths{
    padding: 100px 0;
    overflow: hidden;
}

.myths-carousel{
    --gutter: max(16px, calc((100vw - 1140px) / 2));
}

.myths-track{
    display: flex;
    gap: 24px;
    padding: 8px var(--gutter) 24px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-padding: 0 var(--gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.myths-track::-webkit-scrollbar{
    display: none;
}

.myths-track:focus-visible{
    border-radius: 12px;
    outline: 3px solid #ee93c9;
    outline-offset: -3px;
}

.myths-card{
    flex: 0 0 min(364px, 82vw);
    padding: 32px;
    border-radius: 28px;
    background: #ffffff;
    scroll-snap-align: start;
}

.myths-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.myths-num{
    color: #c9a3d9;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.myths-myth{
    margin: 0 0 24px;
    color: #30203a;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
}

.myths-truth{
    padding-top: 22px;
    border-top: 1px dashed #e3d3ec;
}

.myths-truth > p{
    margin: 12px 0 0;
    color: #30203a;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

.myths-controls{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}

.myths-progress{
    flex: 1;
    height: 4px;
    margin-right: 12px;
    border-radius: 2px;
    background: rgba(255,255,255,.2);
    overflow: hidden;
}

.myths-progress span{
    display: block;
    width: 50%;
    height: 100%;
    border-radius: 2px;
    background: #ee93c9;
    transition: width .2s;
}

.myths-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    font-size: 18px;
    transition: .2s;
}

.myths-btn:hover:not(:disabled){
    background: #ffffff;
    color: #662d89;
}

.myths-btn:disabled{
    opacity: .35;
    cursor: default;
}

.myths-btn:focus-visible{
    outline: 3px solid #ee93c9;
    outline-offset: 2px;
}

@media only screen and (max-width:767px) {
    .myths{
        padding: 56px 0;
    }

    .myths-track{
        align-items: flex-start;
        gap: 14px;
    }

    .myths-card{
        padding: 26px 22px;
        border-radius: 22px;
    }

    .myths-myth{
        font-size: 20px;
    }

    .myths-btn{
        width: 44px;
        height: 44px;
        font-size: 16px;
    }
}


/* Pytania i odpowiedzi */

.faq{
    interpolate-size: allow-keywords;
}

.faq summary{
    list-style: none;
    cursor: pointer;
}

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

.faq summary:focus-visible{
    outline: 3px solid #ee93c9;
    outline-offset: 2px;
}

/* płynne rozwijanie tam, gdzie przeglądarka to obsługuje */
.faq details::details-content{
    block-size: 0;
    overflow: clip;
    transition: block-size .3s ease, content-visibility .3s allow-discrete;
}

.faq details[open]::details-content{
    block-size: auto;
}

/* plus zmieniający się w minus */
.faq-plus{
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f2edf5;
    transition: background .2s;
}

.faq-plus:before,
.faq-plus:after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 -7px;
    border-radius: 1px;
    background: #662d89;
    transition: transform .3s, background .2s;
}

.faq-plus:after{
    transform: rotate(90deg);
}

details[open] > summary .faq-plus{
    background: #662d89;
}

details[open] > summary .faq-plus:before,
details[open] > summary .faq-plus:after{
    background: #ffffff;
}

details[open] > summary .faq-plus:after{
    transform: rotate(0deg);
}

.faq-answer p{
    max-width: 68ch;
    margin: 0 0 12px;
    color: #3d3346;
    font-size: 16px;
    line-height: 1.75;
}

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

.faq-answer .faq-source{
    margin-top: 16px;
    color: #6b5a75;
    font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
    .faq details::details-content{
        transition: none;
    }
}


.faq{
    padding: 100px 0;
    background: #30203a url(../images/backgrounds/wave.png) no-repeat center top / cover;
}

.faq [hidden]{
    display: none !important;
}

.faq-box{
    max-width: 900px;
    margin: 0 auto;
}

.faq-tools{
    display: none;
    gap: 12px;
    margin-bottom: 8px;
}

.faq.is-enhanced .faq-tools{
    display: flex;
}

.faq-search{
    position: relative;
    flex: 1;
    margin: 0;
    font-weight: 400;
}

.faq-search .fa{
    position: absolute;
    top: 50%;
    left: 22px;
    color: rgba(255,255,255,.6);
    font-size: 16px;
    pointer-events: none;
    transform: translateY(-50%);
}

.faq-search input{
    width: 100%;
    height: 56px;
    padding: 0 20px 0 52px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #ffffff;
    font-size: 16px;
    transition: .2s;
}

.faq-search input::placeholder{
    color: rgba(255,255,255,.6);
}

.faq-search input:focus{
    border-color: #ee93c9;
    outline: none;
    background: rgba(255,255,255,.12);
    box-shadow: 0 0 0 3px rgba(238,147,201,.35);
}

.faq-toggle{
    flex-shrink: 0;
    height: 56px;
    padding: 0 24px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    transition: .2s;
}

.faq-toggle:hover:not(:disabled){
    background: #ffffff;
    color: #30203a;
}

.faq-toggle:disabled{
    opacity: .4;
}

.faq-toggle:focus-visible{
    outline: 3px solid #ee93c9;
    outline-offset: 2px;
}

.faq-status{
    min-height: 20px;
    margin: 0 0 12px 20px;
    color: rgba(255,255,255,.75);
    font-size: 14px;
}

.faq-list{
    padding: 8px;
    border-radius: 28px;
    background: rgba(255,255,255,.05);
}

.faq-item{
    border-radius: 20px;
    transition: background .2s;
}

.faq-item + .faq-item{
    margin-top: 4px;
}

.faq-item:hover{
    background: rgba(255,255,255,.06);
}

.faq-item[open]{
    background: #ffffff;
}

.faq-item summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 20px 20px 24px;
    border-radius: 20px;
}

.faq-q{
    margin: 0;
    color: #ffffff;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.35;
    transition: color .2s;
}

.faq-item[open] .faq-q{
    color: #662d89;
}

.faq .faq-plus{
    background: rgba(255,255,255,.1);
}

.faq .faq-plus:before,
.faq .faq-plus:after{
    background: #ffffff;
}

.faq-answer{
    padding: 0 84px 24px 24px;
}

@media only screen and (max-width:767px) {
    .faq{
        padding: 56px 0;
    }

    .faq.is-enhanced .faq-tools{
        flex-direction: column;
    }

    .faq-search input,
    .faq-toggle{
        height: 50px;
    }

    .faq-list{
        padding: 4px;
        border-radius: 22px;
    }

    .faq-item summary{
        gap: 12px;
        padding: 16px;
    }

    .faq-q{
        font-size: 16px;
    }

    .faq .faq-plus{
        width: 34px;
        height: 34px;
    }

    .faq-answer{
        padding: 0 16px 20px;
    }

    .faq-answer p{
        font-size: 15px;
    }
}


/* Telefony - odstępy sekcji i typografia */

@media only screen and (max-width:767px) {
    .p-section{
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .lead-lg{
        font-size: 18px;
        line-height: 1.5;
    }

    .lead-md{
        font-size: 16px;
        line-height: 1.5;
    }

    .lead-caps{
        font-size: 14px;
        line-height: 1.5;
        letter-spacing: .02em;
    }

    .advice h2{
        font-size: 22px;
    }

    .advice p{
        font-size: 15px;
        line-height: 1.6;
    }

    /* plansze nie dochodzą do krawędzi ekranu */
    .habits .row{
        margin-right: 0;
        margin-left: 0;
    }

    .habits .habit-card{
        margin-bottom: 16px;
    }

    .habits .habit-card:last-child{
        margin-bottom: 0;
    }

    .habit-card h2{
        font-size: 22px;
    }

    .habit-card p,
    .habit-card li{
        font-size: 15px;
        line-height: 1.6;
    }

    .clinic .clinic-why .clinic-why-lead{
        font-size: 17px;
    }

    .footer .pb-sm-100{
        padding-bottom: 32px;
    }
}
