/*!
Theme Name: Petsmile
Author: PerfZero
Author URI: https://github.com/PerfZero
Description: Modern and responsive WordPress theme designed specifically for pet boarding services. Features include service showcase, team presentation, customer reviews, contact forms, multilingual support, and mobile-optimized design. Perfect for pet care businesses, animal boarding facilities, and veterinary services. Built with clean code, SEO optimization, and user-friendly interface.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: petsmile
Tags: business, pets, services, boarding, responsive, modern, clean, professional, animals, care


*/


/* Reset and base styles  */
* {
	padding: 0px;
	margin: 0px;
	border: none;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Links */

a, a:link, a:visited  {
    text-decoration: none;
}

a:hover  {
    text-decoration: none;
}

/* Common */

aside, nav, footer, header, section, main {
	display: block;
}

h1, h2, h3, h4, h5, h6, p {
    font-size: inherit;
	font-weight: inherit;
}

ul, ul li {
	list-style: none;
}

img {
	vertical-align: top;
}

img, svg {
	max-width: 100%;
	height: auto;
}

address {
  font-style: normal;
}

/* Form */

input, textarea, button, select {
	font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
	display: none;
}

button, input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
}

input:focus, input:active,
button:focus, button:active {
    outline: none;
}

button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

label {
	cursor: pointer;
}

legend {
	display: block;
}

input[type='file'] {
	max-width: 100%;
}



body{
	  font-family: "Montserrat", sans-serif;
	background:#FAF3DD;

}


.sub-t{
	font-weight: 400;
font-size: 20px;
text-transform: uppercase;
color: #40312c;
	opacity: 0.4;
}

.t{
	font-weight: 600;
font-size: 34px;
	margin:30px 0 30px;
color: #40312c;
}

.header {

  position: relative;
}

.header__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 50px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.container{
	  max-width: 1400px;
	  margin: 0 auto;
  padding: 50px 20px;
}

/* Бургер-меню */
.header__burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1000;
}

.header__burger-line {
  display: block;
  width: 25px;
  height: 2px;
  background: #333;
  margin: 5px 0;
  transition: all 0.3s ease;
}

.header__menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
	gap:40px;
}

.header__menu-item {
  position: relative;
}

.header__menu-link {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  padding: 10px 0;
  transition: color 0.3s;
}

.header__menu-link:hover {
  color: #FC9702;
}

.header__dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  list-style: none;
  padding: 10px 0;
  min-width: 200px;
  z-index: 100;
}

.header__menu-item_dropdown:hover .header__dropdown {
  display: block;
}

.header__dropdown-item {
  padding: 0;
}

.header__dropdown-link {
  display: block;
  padding: 8px 20px;
  color: #333;
  text-decoration: none;
  transition: background 0.3s;
}

.header__dropdown-link:hover {
  background: #f5f5f5;
}

.header__lang {
  margin-left: 20px;
}

.header__lang-link {
  text-decoration: none;
  color: #333;
}

.header__lang-link:hover {
  color: #FC9702;
}

.header__lang-separator {
  margin: 0 5px;
}


.hero{
	background-image:url(/wp-content/uploads/2025/08/hero.png);
	    background-repeat: no-repeat;
    background-size: cover;
	padding:100px 0;
}

.hero__container{
	display:flex;
	flex-direction:column;
	gap:40px;
	justify-content:flex-start;
	align-items:flex-start;
}

.hero__title{
	font-size:48px;
}

.button{
	font-weight: 500;
font-size: 18px;
text-transform: uppercase;
text-align: center;
	border-radius: 15px;
	background: #fff;
	padding:18px;
	display:flex;
	align-items:center;
	justify-content:center;
color: #40312c;
	transition:0.2s;
}

.button:hover{
	background:#40312c;
	color:#fff;
}

.hero__button{
	max-width:400px;
	width:100%;
}

.about__content{
	display:flex;
	gap:24px;
}

.about__text{
	max-width:434px;
}

.about__title{
font-size: 20px;
text-transform: uppercase;
color: #40312c;
	opacity: 0.4;
}

.about__main-text{
	font-weight: 600;
font-size: 34px;
	margin-bottom:36px;
line-height: 120%;
	margin-top:30px;
color: #40312c;
}

.about__feature-text{
	font-weight: 500;
font-size: 20px;
line-height: 140%;
color: #40312c;
}

.about__feature{
	display:flex;
	align-items:center;
	gap:20px;
}

.about__features{
	display:flex;
	flex-direction:column;
	gap:30px;
}


.about__gallery{
	display:flex;
	gap:25px;
}


.about__gallery-row{
	display:flex;
	gap:25px;
	flex-direction:column;
}

.about__gallery-image{
	border-radius:20px;
	width:100%;
}

.advantages__subtitle{
	font-weight: 400;
font-size: 20px;
line-height: 140%;
text-transform: uppercase;
color: #40312c;
	display: block;
	opacity: 0.4;
	margin-bottom:30px;
}

.advantages__title{
	font-weight: 600;
font-size: 34px;
line-height: 120%;
color: #40312c;
}

.advantages__header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
}

.advantages__card{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.advantages__card-title{
	font-weight: 500;
font-size: 28px;
color: #40312c;
}

.advantages__card-text{
	font-weight: 400;
font-size: 18px;
color: #40312c;
}

.services-hero{
	height:720px;
	position:relative;
}

.about-hero{
	background-image:url(/wp-content/uploads/2025/08/Frame-357777.png);
	background-size:cover;
}

.header__lang-link{
	cursor:pointer;
}

.about-hero__title{
	font-weight: 400;
	margin-top:100px;
	margin-bottom:20px;
font-size: 48px;
color: #40312c;
}

.lisa > *{
	flex:1 
}

.about-hero__content{
	max-width:823px;
	margin-bottom:100px;
}

.about-hero__button {
	max-width:300px;
	margin-top:30px;
}


.custom-select.active .custom-select__selected{
	border-radius:15px 15px 0 0;
}


.custom-select__options{
	border: none !important;
}

.about-hero__subtitle , .about-hero__description{
	font-weight: 400;
font-size: 27px;
	margin-bottom:15px;
line-height: 140%;
color: #40312c;
}

.services-hero:before{
content: '';
    display: block;
    width: 100%;
    height: 110%;
    position: absolute;
    top: -120px;
    left: 0;
    background-image: url(/wp-content/uploads/2025/08/hero_2.png);
    z-index: -1;
    background-size: cover;
}

.services-hero__title{
	font-weight: 400;
font-size: 48px;
line-height: 140%;
	margin-top:240px;
color: #40312c;
}

.services-hero__button{
	max-width:300px;
	width:100%;
	margin-top:40px;
}

/* Универсальная навигация для слайдеров */
.slider-nav{
	display:flex;
	gap:15px;
}

.slider-nav__button{
	cursor:pointer;
	transition: opacity 0.3s;
}

.slider-nav__button--prev img{
	transform: rotate(180deg);
}

.swiper-button-disabled{
	opacity:0.5;
}

/* Старые классы для совместимости */
.advantages__navigation{
	display:flex;
	gap:15px;
}

.advantages__button-prev , .advantages__button-next{
	cursor:pointer;
}

.advantages__button-prev img{
	transform: rotate(180deg);
}

.services__list{
	display:flex;
	gap:24px;
	flex-wrap:wrap;
}

.services__item{
	flex:1 1 49%;
}

.services__name{
	font-weight: 500;
font-size: 28px;
color: #fff;
		max-width:280px;

	margin-bottom:20px;
}

.services__item{
	padding:50px 30px;
	border-radius:15px;
}

.services__description{
	font-weight: 400;
font-size: 18px;
color: #fff;
	max-width:280px;
}

.services__item{
	background-repeat:no-repeat;
	background-size:cover;
}

.services__item:nth-child(1){
	background-image:url(/wp-content/uploads/2025/08/frame_1.png)
}

.services__item:nth-child(2){
	background-image:url(/wp-content/uploads/2025/08/frame_2.png)
}

.services__item:nth-child(3){
	background-image:url(/wp-content/uploads/2025/08/frame_3.png)
}

.services__item:nth-child(4){
	background-image:url(/wp-content/uploads/2025/08/frame_4.png)
}

.services__content{
	display:flex;
	flex-direction:column;
}

.services__content img{
	margin-left:auto;
	margin-top:16px;
}

.about-care__content{
	display:flex;	
	gap:24px;
}


.about-care__content > *{
	flex:1;
}

.about-care__text{
	margin:40px 0;
	font-weight: 400;
font-size: 20px;
line-height: 140%;
color: #40312c;
}

.about-care__list{
	display:flex;
	flex-wrap:wrap;
	gap:24px;
}

.about-care__list > * {
	flex:1 1 48%;
}

.about-care__item{
	display:flex;
	flex-direction:column;
	gap:15px;
}


.about-care__item img{
	width:45px;
}

.about-care__item-text{
	font-weight: 400;
font-size: 20px;
line-height: 140%;
color: #40312c;
}

/* Home Gallery Section */
.home-gallery{
	padding: 50px 0;
}

.home-gallery__header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
}

.home-gallery__subtitle{
	display: block;
	margin-bottom: 20px;
}

.home-gallery__title{
	margin-bottom: 30px;
}

.home-gallery__description{
	max-width: 800px;
	font-size: 18px;
	line-height: 150%;
	color: #40312c;
	opacity: 0.8;
	margin-top: 20px;
}

.home-gallery__slide{
	height: auto;
}

.home-gallery__image{
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 10px;
}

.team__content{
	display:flex;
	gap:25px;
}

.team__content > *{
	flex:1;
}

.team__paragraph{
	font-weight: 400;
font-size: 18px;
line-height: 120%;
color: #40312c;
	margin-bottom:15px;
}

.contact-form__container{
	    display: flex
;
    flex-direction: column;
    align-items: center;
	padding:100px 10px;
}

.contact-form__subtitle{
	font-weight: 400;
font-size: 15px;
line-height: 140%;
text-align: center;
color: #40312c;
	margin-bottom:40px;
}

.contact-form__for.contact-form__fields , .contact-form__fields , .contact-form__form , .questions__fields , .questions__form{
	    display: flex
;
    flex-direction: column;
    gap: 24px;
    align-items: stretch;
}

.contact-form__content{
	    max-width: 863px;
    width: 100%;
    text-align: center;
}

.questions__description{
	font-weight: 400;
font-size: 18px;
line-height: 140%;
color: #40312c;
	margin-bottom:40px;
}

.questions__content > *{
	flex:1 1 50%;
}


.contact-form__input , .questions__input{
	border-radius: 15px;
	background: #f9faf8;
	text-align:left;
	padding:20px 33px;
	width:100%;
}

.contact-form{
	background-image:url(wp-content/uploads/2025/08/Frame-315.png);
	background-size:cover;
}

.contact-form__checkbox-text{
	font-weight: 400;
font-size: 14px;
line-height: 140%;
color: #40312c;
}

.contact-form__checkbox{
	text-align:left;
}

.reviews__header{
	display:flex;
	justify-content:space-between;
}

.reviews__container{
	padding:100px 0;
}

.reviews__card{
	background: #f9faf8;
	border-radius: 15px;
	padding:60px 24px;
}

.reviews__author{
	display:flex;
		gap:15px;
	margin-bottom:30px;
	align-items:center;
}

.reviews__name{
	font-weight: 600;
font-size: 24px;
line-height: 120%;
color: #40312c;
}

.reviews__text{
	font-weight: 400;
font-size: 18px;
line-height: 140%;
color: #40312c;
}

.questions__content{
	display:flex;
	gap:25px;
	max-width:1170px;
	margin:0 auto;
}

.blog__grid{
	display:flex;
	gap:24px;
}

.blog-card{
	flex:1;
}

.blog-card__image img{
	width:100%;
}

.blog-card{
	display:flex;
	flex-direction:column;
	gap:40px;
}

.blog-card__content{
		display:flex;
	flex-direction:column;
	gap:15px;
}

.blog-card__title-link{
	font-weight: 600;
font-size: 24px;
line-height: 120%;
color: #40312c;
}

.blog-card__excerpt{
	font-weight: 400;
font-size: 18px;
line-height: 140%;
color: #40312c;
}

.blog-card__read-link{
	font-weight: 400;
font-size: 18px;
line-height: 140%;
text-decoration: underline !important;
text-decoration-skip-ink: none;
color: #40312c;
}

.blog__more-button {
	max-width:300px;
	margin-top:30px;
	width:100%;
}

.blog__more{
	    text-align: center;
    display: flex
;
    align-items: center;
    justify-content: center;
}

.footer__content{
display:flex;
	justify-content:space-between;
}

.footer__content > * {
	flex:1;

}

.footer__info a{
	font-weight: 400;
font-size: 18px;
color: #40312c;
}

.footer__logo-img{
	width:116px;
}

.footer__info .footer__text{
	font-weight: 400;
font-size: 16px;
color: #40312c;
}

.footer__bottom{
	display:flex;
	justify-content:space-between;
}

.footer__bottom > *{
	font-weight: 400;
font-size: 14px;
line-height: 140%;
text-transform: lowercase;
color: #40312c;
	opacity: 0.5;
}

.footer__title{
	font-weight: 700;
font-size: 16px;
color: #40312c;
	margin-bottom:15px;
}

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

.footer__link{
	font-weight: 400;
	display:block;
font-size: 16px;
color: #40312c;
}

/* Мобильная версия */
@media (max-width: 768px) {
  .header__burger {
    display: block;
  }
	
	.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 20px;
}
	
	.contacts-page__map{
		width:100%;
	}
	
	.contacts-page__content {
    display: flex
;
    grid-template-columns: 1fr 1.2fr;
    gap: 20px;
    align-items: start;
    flex-direction: column;
}
	
	.about__gallery {
    display: flex
;
    gap: 25px;
    flex-direction: column;
}


	
	.sub-t {
    font-weight: 400;
    font-size: 18px;
    text-transform: uppercase;
    color: #40312c;
    opacity: 0.4;
}
	
	.t {
    font-weight: 600;
    font-size: 24px;
    margin: 20px 0 30px;
    color: #40312c;
}
	
	.services__item {
    padding: 20px 20px;
    border-radius: 15px;
}
	
	.services__name {
    font-weight: 500;
    font-size: 23px;
    color: #fff;
    max-width: 280px;
    margin-bottom: 20px;
}
	
	.services__description {
    font-weight: 400;
    font-size: 14px;
    color: #fff;
    max-width: 250px;
}
	
	.about-care__text {
    margin: 20px 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #40312c;
}
	
	.about-care__item-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #40312c;
}
	
	.home-gallery {
    padding: 20px 0;
}


	
	.about__title {
    font-size: 18px;
    text-transform: uppercase;
    color: #40312c;
    opacity: 0.4;
}
	
	.advantages__subtitle {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    text-transform: uppercase;
    color: #40312c;
    display: block;
    opacity: 0.4;
    margin-bottom: 20px;
}
	
	.advantages__icon img{
		width:43px;
	}
	
	.advantages__title {
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    color: #40312c;
}
	
	.advantages__card-title {
    font-weight: 500;
    font-size: 18px;
    color: #40312c;
}
	.advantages__card-text {
    font-weight: 400;
    font-size: 16px;
    color: #40312c;
}
	
	.about__main-text {
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 36px;
    line-height: 120%;
    margin-top: 30px;
    color: #40312c;
}
	
	.about__feature img{
		width:32px;
	}
	
	.about__feature-text {
    font-weight: 500;
    font-size: 18px;
    line-height: 140%;
    color: #40312c;
}
	
	.about__content {
    display: flex
;
    gap: 24px;
    flex-direction: column;
}
	
	.advantages__header {
    display: flex
;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 20px;
    flex-direction: column;
}
	
	.about-care__content {
    display: flex
;
    gap: 24px;
    flex-direction: column;
}
	
	.team__content {
    display: flex
;
    gap: 25px;
    flex-direction: column;
}
	
	.questions__content {
    display: flex
;
    gap: 25px;
    max-width: 1170px;
    margin: 0 auto;
    flex-direction: column;
}
	
	.blog__grid {
    display: flex
;
    gap: 24px;
    flex-direction: column;
}
	
	.footer__content {
        gap: 24px;
        display: flex
;
        justify-content: space-between;
        flex-direction: column;
}
	
	.wpcf7-spinner{
		display:none;
	}
	
	.footer__bottom {
    display: flex
;
    margin-top: 24px;
    justify-content: space-between;
    flex-direction: column;
    gap: 12px;
}
	
	.hero{
		padding:30px 0;
	}
	
	.hero__title {
    font-size: 28px;
}
	
	.hero__logo-image{
		width:50%;
	}
	
	.header__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 16px;
    display: flex
;
    align-items: center;
    justify-content: space-between;
}
	
	    .hero {
        background-position: -160px 0;
        padding: 30px 0;
    }


	
	.button {
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    border-radius: 15px;
    background: #fff;
    padding: 16px;
    display: flex
;
    align-items: center;
    justify-content: center;
    color: #40312c;
    transition: 0.2s;
}
	
	
	.home-gallery__header {
    display: flex
;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
		gap:20px;
    flex-direction: column;
}
	
	.team__paragraph {
    font-weight: 400;
    font-size: 15px;
    line-height: 120%;
    color: #40312c;
    margin-bottom: 10px;
}
	
	.contact-form__container {
    display: flex
;
    flex-direction: column;
    align-items: center;
    padding: 50px 20px;
}
	
	.contacts__map{
		        position: relative;
	}
	
	.contacts__info-overlay {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 10;
}
	
	
	.contacts__map{
		position:relative !important;
	}
	
	.contacts__map-wrapper {
    position: relative !important;
    width: 100%;
    height: auto !important;
}
	
	.reviews__header {
    display: flex
;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 16px;
}
	
	.reviews__container {
    padding: 40px 16px;
}
	
	.blog-card__title-link {
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    color: #40312c;
}
	
	.blog-card__excerpt {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #40312c;
}
	
	.blog-card__read-link {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    text-decoration: underline !important;
    text-decoration-skip-ink: none;
    color: #40312c;
}
  
  .header__nav {
    position: fixed;
    top: 0;
    left: -100%;
    width: 80%;
    max-width: 300px;
    height: 100vh;
    background: #fff;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
    padding: 70px 20px 20px;
    transition: left 0.3s ease;
    z-index: 999;
  }
  
  .header__nav.active {
           left: 0;
        z-index: 999999;
        background: #faf3dd;
  }
  
  .header__menu {
    flex-direction: column;
	  gap:10px;
  }
	
	.about-hero {
    background-size: cover;
    background-position: -280px 0;
    opacity: 0.8;
}
	
	.about-hero__title {
    font-weight: 400;
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 28px;
    color: #40312c;
}
	
	.about-hero__subtitle, .about-hero__description {
    font-weight: 400;
    font-size: 16px;
    margin-bottom: 15px;
    line-height: 140%;
    color: #40312c;
}
	
	.about-hero__content {
    max-width: 823px;
    margin-bottom: 30px;
}
  
  .header__menu-item {
    margin: 10px 0;
  }
  
  .header__dropdown {
    position: static;
    box-shadow: none;
    display: none;
    padding-left: 15px;
  }
  
  .header__menu-item_dropdown:hover .header__dropdown,
  .header__menu-item_dropdown.active .header__dropdown {
    display: block;
  }
  
  .header__lang {
    margin-left: auto;
    margin-right: 15px;
  }
}