
.nav-list{
    display:flex;
    list-style:none;
    gap:10px;
    padding:0;
}

.nav-list li{
    list-style:none;
}

.im1,.im2,.im3,.im4{
    margin:auto;
}


:root{
    --main-color: rgb(140,63,147);
    --text-color: rgb(67,75,83);
    --radius: 10px;
    --transition: .3s;
}

html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    width: 100%;
    overflow-x: hidden;
}

.box_container,
.box_container_purple,
.gallery,
.info_table,
.carousel,
.form,
.line,
.footer_ {
    scroll-margin-top: 110px;
}

.nav_ a {
    text-decoration: none;
    color: rgba(46, 54, 62, 1);
    font-size: 2em;
    padding: 10px 15px;
    transition: 0.3s;
    border-radius: 10px;
    display: inline-block;
}

.nav_ a:hover {
    box-shadow: 0 10px 10px rgba(0,0,0,0.1);
}

.header_ {
    width: 100%;
    background: white;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
    position: fixed;
    top: 0;
    z-index: 1000;
}

.container_header {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding: 10px 20px;
}

.content {
    width: 100%;
}

.main {
    text-align: center;
    padding: 40px 20px;
    margin-top: 82px;
}

.main p {
    font-size: 1.5em;
    margin: 20px auto;
    max-width: 900px;
    line-height: 1.6;
    color: rgba(67, 75, 83, 1);
}

h2 {
    color: black;
    font-size: 3em;
    margin-top: 20px;
}

.logo {
    height: auto;
    display: block;
    margin: 20px auto;
}

.btn_a {
    display: block;
    width: fit-content;
    margin: 30px auto;
    text-decoration: none;
}

.btn_catalog {
    border: none;
    background-color: var(--main-color);
    color: white;
    padding: 20px 60px;
    border-radius: 10px;
    font-size: 1.8em;
    cursor: pointer;
}

.btn_catalog_white {
    border: none;
    background-color: white;
    color: black;
    padding: 20px 60px;
    border-radius: 10px;
    font-size: 1.8em;
    cursor: pointer;
}

.btn_catalog:hover{
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.box_container_purple {
    width: 100%;
    background-color: var(--main-color);
    padding: 60px 20px;
}

.inCall_container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}

.text_call {
    flex: 1;
}

.text_call h2 {
    text-align: left;
    margin-bottom: 20px;
}

.text_call p {
    font-size: 1.3em;
    text-align: left;
    line-height: 1.5;
}

.inCall_container img {
    height: auto;
}

.gallery{
	width:60%;
	margin:auto;
    background-color: white;
	display:grid;
	grid-template-areas:
    "f f"
	"a s"
	"d c";
	margin-top:10px;
}

.gallery img{
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    border: 1px solid rgba(140, 63, 147, 0.18);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.04);
}

.im1{
	grid-area:a;
    margin: auto;
}

.im2{
	grid-area:s;
    margin: auto;
}

.im3{
	grid-area:d;
    margin: auto;
}

.im4{
	grid-area:c;
    margin: auto;

}

figure{
	margin:10px;
	outline: 0px black solid;
	padding:10px;
	position:relative;
    width: 100%;
}

.gallery figure img:hover{
    box-shadow: 0 0 20px grey;
    transition: 0.3s ease-in-out;
}

figcaption{
	margin: 5px;
	background:white
}

figcaption p{
    font-size: 1.6em;
    text-align: left;
}

figcaption h4{
    font-size: 1.08em;
    margin-top: 8px;
}

.show{
    transform: scale(1.5);
    transition: 0.3s ease-in-out;
    z-index: 1000;
    position: relative;
    box-shadow: 0 0 0 white !important;
}

.text{
	display: none;
}

.textBlock {
    position: relative;
}

.text.show {
    display: block;
    position: absolute;
    z-index: 5000;
    background: white;
    border-radius: 20px;
    padding: 20px;
    outline: 1px black solid;
    top: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 1.5em;
}

.catalog{
    grid-area:f;
    text-align: center;
}

.price_1{
    text-decoration: line-through;
}

.blue{
    color: rgb(50, 196, 245);
}

.text-in-line{
    display: inline-block;
    margin:0 5px;
}

.info_table {
  padding: 60px 20px;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly; 
  align-items: center; 
  color: black;
  font-family: sans-serif; 
}

.info_table .textBlock {
  text-align: center;
  margin: 15px;
  min-width: 200px; 
}

.topText {
  font-size: 48px;
  font-weight: bold;
  margin-bottom: 10px;
}

.bottomText {
  font-size: 16px;
  opacity: 0.8; 
}

.carousel {
  position: relative;
  padding: 10px 50px;
  background: white;
  margin: auto;
  width: 90%;
  max-width: 1200px;
  box-sizing: border-box;
}

.carousel button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--main-color);
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.carousel button:hover {
  background: rgba(140, 63, 147, 1);
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
}

.carousel button:active {
  transform: translateY(-50%) scale(0.98);
}

.btnLast {
  left: 10px;
}

.btnNext {
  right: 10px;
}

.galleryCarousel {
  width: 100%;
  overflow: hidden;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}

.gallery li div {
   width: inherit;
   display: block;
}

.galleryCarousel ul {
  display: flex;
  width: 9999px;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: margin-left 250ms;
  font-size: 1em;
}

.comment {
    width: calc(100% - 40px);
    height: auto;
    background: white;
    border-radius: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 50px;
    outline: 1px solid rgba(140, 63, 147, 0.22);
    box-shadow: 0 10px 24px rgba(140, 63, 147, 0.08);
    margin: 20px auto;
}

.comment figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    flex-shrink: 0;
    width: auto;
}

.comment figure img {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.comment figure figcaption {
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
}

.comment figure figcaption p {
    margin: 0;
    font-size: 1.1em;
    text-transform: capitalize;
}

.comment figure figcaption h3 {
    margin: 5px 0 0 0;
    font-size: 0.9em;
    font-weight: normal;
    color: #666;
}

.textInComment {
    width: 100%;
}

.textInComment h2 {
   font-size: 3em;
}

.textInComment p {
    font-size: 1.2em;
    line-height: 1.2;
    margin-top: 20px;
}

.carousel h2 {
    text-align: center;
    margin-bottom: 30px;
}

.line{
    height: 20px;
}

.form{
    padding: 40px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 30px;
}
.BoxForm{
        outline: 7px rgba(140, 63, 147, 1) solid;
        border-radius: 5px;
        width:20%;
        padding: 60px;
}

.boxFig{
    margin-left: 100px;
    text-align: left;
    display: grid;
    grid-template-areas:
    "f f"
    "a s"
    "z c";
}

.figbox{
    width: 26%;
}

.form h4{
    font-size: 2.5em;
}

.BoxForm p{
    font-size: 1.5em;
    margin-top: 10px;
}

.input_{
    display: block;
    background-color: rgb(238, 238, 238);
    border: none;
    width: 100%;
    height: auto;
    padding: 35px;
    margin: 20px 0;
    border-radius: 10px;
    color: #666;
}

.input_:focus{
    box-shadow: 0 0 10px black;
    outline: none;
    initial-value: none;
}

.buttonForm{
    font-size: 1.2em;
    margin: auto;
    display: block;
    padding: 30px 50px;
}

.btn_catalog:active{
    background: purple;
}

.boxFig h2{
    grid-area:f;
}

.fig1{
    grid-area:a;
}

.fig2{
    grid-area:s;
}

.fig3{
    grid-area:z;
}

.fig4{
    grid-area:c;
}

.checkbox_{
    margin: 24px 0 10px;
    accent-color: var(--main-color);
}

.label_ a{
    color: black;
}

.label_{
    display: block;
    margin-top: 10px;
}

.BtnText{
    border: 1px solid rgba(140, 63, 147, 0.16);
    background-color: white;
    width: 100%;
    padding: 20px;
    box-shadow: none;
    transition: box-shadow 0.3s ease-in-out;
    border-radius: 20px;
    display: block;
    margin: auto;
    font-size: 1.4em;
}

.BtnText:hover{
    cursor: pointer;
    border-color: rgba(140, 63, 147, 0.28);
    box-shadow: 0 0 13px black;
    transition: box-shadow 0.3s ease-in-out;
}

.BtnText:active{
    background: lightgray;
}

.images{
    width: 9999px;
}

.footer_ {
    padding: 24px 20px 40px;
    text-align: center;
    color: rgba(67, 75, 83, 0.85);
    background: linear-gradient(180deg, rgba(140, 63, 147, 0.06), rgba(140, 63, 147, 0));
    font-size: 1em;
}

.scrollTop {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 56px;
    height: 56px;
    border: none;
    border-radius: 50%;
    background: var(--main-color);
    color: white;
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    z-index: 1200;
}

.scrollTop.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.scrollTop:hover {
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
}




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

h2{
    font-size: 2em;
}

    .gallery{
    width: 100%;
}

    .BoxForm{
    width: 40%;
}

.carousel{
    width: auto;
}

}

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

    .form{
        justify-content: stretch;
    }

    .buttonForm{
        padding: 30px;
    }

    .carousel{
        width: 100% ;
    }

    .BoxForm{
        width: 50%;
    }

    .boxFig{
        margin-left: 20px;
        width: 50%;
    }

    .nav-list{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        font-size: 0.8em;
    }

    .inCall_container img{
        width: 60%;
    }

    .comment{
        width: 90%;
    }

}

@media screen and (max-width: 768px) {
    .comment{
        flex-direction: column;
        text-align: center;
    }

    .box{
        height: 122px;
        display: none;
    }

    .inCall_container img{
        width: 80%;
    }

    .form{
        flex-direction: column;
        align-items: center;
        width: 90%;
        margin:auto;
    }

    .BoxForm{
        margin: 20px auto;
        width: 90%;
    }

    .header_{
        position: relative;
    }

    .boxFig{
        margin: auto;
        width: fit-content;
    }

    .form h2, h4{
        text-align: center;
    }

    .gallery figure img:hover{
        box-shadow: none;
        transition: none;
    }

    figcaption h4{
        font-size: 1.18em;
    }
}

@media screen and (max-width: 425px){
    h2{
        font-size: 1.8em;
    }

    .nav_ a{
        font-size: 1.3em;
        padding: 8px 12px;
    }

    :root{
        --main-color: rgb(175, 120, 190);
    }

    .container_header{
        display: flex;
        flex-direction: column;
        padding: 8px 15px;
        gap: 10px;
    }

    .container_header img{
        display: block;
    }

    .img_nav{
        order: 3;
    }

    .box{
        height: 100px;
    }

    .main{
        padding: 30px 15px;
        margin-top: 0px;
    }

    .main p{
        font-size: 1.25em;
        margin: 15px auto;
    }

    .logo{
        width: 100%;
    }

    .btn_catalog, .btn_catalog_white{
        padding: 16px 45px;
        font-size: 1.5em;
    }

    .box_container_purple{
        padding: 40px 15px;
    }

    .inCall_container{
        gap: 25px;
    }

    .text_call h2{
        font-size: 1.4em;
        margin-bottom: 15px;
    }

    .text_call p{
        font-size: 1.1em;
    }

    .main p,
    .text_call p,
    .BoxForm p,
    .figcapform p,
    .textInComment p {
        text-align: left;
    }

    .gallery{
        display: flex;
        flex-direction: column;
        width: 95%;
        margin: 10px auto;
    }

    .im1, .im2, .im3, .im4{
        width: 100%;
    }

    .gallery img{
        height: 280px;
    }

    figcaption p{
        font-size: 1.4em;
    }

    .text.show {
        font-size: 1.3em;
        padding: 15px;
        width: 90vw;
    }

    .info_table{
        flex-direction: column;
        gap: 15px;
        padding: 24px 12px;
    }

    .info_table .textBlock{
        min-width: 130px;
    }

    .topText{
        display: block;
        font-size: 36px;
    }

    .bottomText{
        display: block;
        font-size: 13px;
    }

    .carousel h2{
        font-size: 1.5em;
        margin-bottom: 20px;
    }

    .carousel{
        padding: 10px 45px;
        width: 96%;
    }

    .carousel button{
        width: 42px;
        height: 42px;
        font-size: 1.1rem;
    }

    .comment{
        width: 88%;
        padding: 9px 7px;
        gap: 12px;
    }

    .comment figure{
        flex-direction: column;
        align-items: center;
    }

    .comment figure img{
        width: 118px;
        height: 118px;
    }

    .textInComment h2{
        font-size: 1.7em;
        text-align: left;
        margin:0px;
    }

    .textInComment p{
        font-size: 1.15em;
        line-height: 1.5;
        margin-top: 10px;
    }

    .line{
        height: 15px;
        padding: 0;
    }

    .form{
        width: 96%;
        padding: 18px 14px;
        flex-direction: column;
        align-items: center;
        margin: 0 auto;
        gap: 16px;
    }

    .boxFig{
        width: 100%;
        margin: 0 0 8px 0;
        text-align: center;
        display: grid;
        grid-template-areas:
        "f"
        "a"
        "s"
        "z"
        "c";
    }

    .boxFig h2{
        font-size: 1.6em;
        margin-bottom: 15px;
    }

    .figbox{
        width: 100%;
    }

    .figform{
        margin: 12px auto;
    }

    .figcapform p{
        font-size: 1.05em;
    }

    .BoxForm{
        width: 100%;
        padding: 30px 18px;
        outline: 5px rgba(140, 63, 147, 1) solid;
        margin: 0;
    }

    .form h4{
        font-size: 2em;
        margin-bottom: 15px;
    }

    .BoxForm p{
        font-size: 1.3em;
        margin-top: 10px;
    }

    .input_{
        padding: 25px;
        margin: 15px 0;
        font-size: 1em;
        border-radius: 8px;
    }

    .buttonForm{
        padding: 22px 40px;
        font-size: 1.15em;
        margin-top: 15px;
    }

    .BtnText{
        padding: 16px;
        font-size: 1.25em;
    }

    figcaption h4{
        font-size: 1.22em;
    }

    .checkboxForm{
        margin: 15px 0;
    }

    .label_{
        font-size: 0.95em;
    }

    figure{
        margin: 8px;
        padding: 8px;
    }
}

@media screen and (max-width: 375px){
    h2{
        font-size: 1.5em;
    }

    .nav_ a{
        font-size: 1.2em;
        padding: 8px 10px;
    }

    .container_header{
        padding: 8px 10px;
    }

    .main{
        padding: 25px 15px;
    }

    .main p{
        font-size: 1.1em;
        margin: 15px auto;
    }

    .btn_catalog, .btn_catalog_white{
        padding: 15px 40px;
        font-size: 1.3em;
    }

    .box_container_purple{
        padding: 40px 15px;
    }

    .inCall_container{
        gap: 20px;
    }


    .gallery{
        width: 90%;
        margin: 10px auto;
    }

    .gallery img{
        height: 250px;
    }

    figcaption p{
        font-size: 1.3em;
    }

    .text.show {
        font-size: 1.2em;
        padding: 15px;
        width: 95vw;
    }

    .info_table{
        flex-direction: column;
        gap: 20px;
        padding: 30px 15px;
    }

    .textBlock{
        min-width: 150px;
    }

    .topText{
        display: block;
        font-size: 42px;
    }

    .bottomText{
        display: block;
        font-size: 18px;
    }

    .carousel{
        padding: 10px 40px;
        width: 95%;
    }

    .carousel button{
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .comment{
        width: 85%;
        padding: 16px 12px;
        gap: 10px;
    }

    .comment figure img{
        width: 92px;
        height: 92px;
    }

    .textInComment h2{
        font-size: 1.5em;
        margin-bottom: 6px;
    }

    .textInComment p{
        font-size: 1.05em;
        line-height: 1.35;
        margin-top: 8px;
    }

    .form{
        width: 95%;
        padding: 25px;
    }

    .BoxForm{
        width: 100%;
        padding: 30px 20px;
        outline: 5px rgba(140, 63, 147, 1) solid;
    }

    .form h4{
        font-size: 1.8em;
    }


    .input_{
        padding: 20px;
        margin: 15px 0;
        font-size: 1em;
    }

    .buttonForm{
        padding: 20px 30px;
        font-size: 1em;
    }

    .boxFig{
        width: 100%;
        margin: 0 auto 30px;
        display: grid;
        grid-template-areas:
        "f"
        "a"
        "s"
        "z"
        "c";
    }

    .figbox{
        width: 100%;
    }

    .boxFig h2{
        font-size: 1.6em;
        margin-bottom: 20px;
    }

    .figform{
        margin: 15px auto;
    }

   .logo{
        width: 100%;
    }

    .BtnText{
        padding: 15px;
        font-size: 1.1em;
    }
}

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

    .nav_ a{
        padding: 8px 10px;
    }

    .container_header{
        padding: 6px 8px;
        gap: 10px;
    }

    .container_header img{
        width: 190px;
        height: 39px;
    }

    .main{
        padding: 20px 10px;
    }

    .main p{
        margin: 10px auto;
    }

    .btn_catalog, .btn_catalog_white{
        padding: 12px 25px;
    }

    .logo{
        width: 100%;
    }

    .box_container_purple{
        padding: 30px 10px;
    }

    .inCall_container{
        gap: 15px;
        flex-direction: column;
    }

    .text_call h2{
        margin-bottom: 10px;
        margin-top: 10px;
    }

    .gallery{
        width: 100%;
        margin: 5px auto;
    }

    .gallery img{
        height: 200px;
    }

    .text.show {
        padding: 12px;
        width: 98vw;
        left: 50%;
        transform: translateX(-50%);
    }

    .info_table{
        flex-direction: column;
        gap: 15px;
        padding: 20px 10px;
    }

    .textBlock{
        min-width: 120px;
        margin: 10px;
    }

    .topText{
        display: block;
    }

    .bottomText{
        display: block;
    }

    .carousel{
        padding: 10px 35px;
        width: 100%;
        margin: 0;
    }

    .carousel button{
        width: 35px;
        height: 35px;
    }

    .btnLast{
        left: 5px;
    }

    .btnNext{
        right: 5px;
    }

    .comment{
        width: 90%;
        padding: 18px 12px;
        gap: 12px;
        flex-direction: column;
    }

    .comment figure{
        flex-direction: column;
        align-items: center;
    }

    .comment figure img{
        width: 70px;
        height: 70px;
    }

    .textInComment p{
        line-height: 1.4;
        margin-top: 10px;
    }

    .form{
        width: 100%;
        padding: 15px 10px;
        flex-direction: column;
        align-items: center;
    }

    .BoxForm{
        width: 100%;
        padding: 20px 15px;
        outline: 3px rgba(140, 63, 147, 1) solid;
        margin: 15px 0;
    }

    .input_{
        padding: 15px;
        margin: 12px 0;
    }

    .buttonForm{
        padding: 15px 20px;
    }

    .boxFig{
        margin: 0;
        display: grid;
        grid-template-areas:
        "f"
        "a"
        "s"
        "z"
        "c";
    }

    .figbox{
        width: 100%;
    }

    .boxFig h2{
        margin-bottom: 15px;
    }

    .figform{
        margin: 10px auto;
    }

    .BtnText{
        padding: 12px;
    }

    .box{
        height: 90px;
    }

    figure{
        margin: 8px;
        padding: 8px;
    }

}

