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

body{
  font-family:Arial, sans-serif;
  background:#f5f7fb;
}

.header{

  width:100%;

  background:white;

  position:sticky;

  top:0;

  z-index:10000;

  display:flex;

  align-items:center;

  justify-content:space-between;

  padding:8px 60px;

  height:75px;

  box-sizing:border-box;
}

.logo{
  width:145px;

  display:block;
}

.phone-btn{

  text-decoration:none;

  background:linear-gradient(
  90deg,
  #213e97,
  #13a538
  );

  color:white;

  padding:10px 22px;

  border-radius:50px;

  font-size:15px;

  font-weight:bold;

  display:flex;

  align-items:center;

  justify-content:center;
}

.phone-btn:hover{
  transform:translateY(-3px);
  box-shadow: 0 10px 25px rgba(33,62,151,0.18);
}

@media(max-width:768px){

.header{
  padding:12px 20px;
}

.logo{
  width:150px;
}

.phone-btn{
  padding:10px 18px;
  font-size:14px;
}

.phone-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(33,62,151,0.18);
}

}

.overlay{
  position:absolute;

  inset:0;

  background:rgba(33,62,151,0.58);
}

.hero-content{
  position:relative;

  z-index:2;

  max-width:900px;

  margin:auto;

  text-align:center;

  padding:70px 20px 40px;

  color:white;
}

.hero{

position:relative;

  width:100%;

  min-height:78vh;

  background:url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?q=80&w=1400');

  background-size:cover;
  background-position:center;

  overflow:hidden;
}

.hero h1{
  font-size:64px;

  line-height:1.1;

  margin-bottom:20px;
}

.hero p{
  font-size:20px;

  line-height:1.7;

  margin-bottom:32px;

  color:#eef3ff;

  max-width:780px;

  margin-left:auto;
  margin-right:auto;
}

.booking-box{
  display:flex;

  justify-content:center;

  align-items:center;

  gap:14px;

  flex-wrap:wrap;

  margin-bottom:35px;
}

.location-wrapper{
  width:500px;

  max-width:100%;
}

.stats{
  display:flex;

  justify-content:center;

  gap:16px;

  flex-wrap:wrap;
}

.card{
  background:rgba(255,255,255,0.14);

  backdrop-filter:blur(10px);

  padding:22px;

  border-radius:22px;

  min-width:160px;
}

.card h2{
  font-size:34px;

  margin-bottom:6px;
}

.stat-icon{
  display:none;
}

/* PERFECT LIVING GREEN */

.hero h1 span{
  color:#13a538;
}

.hero-tick{
  display:inline-block;
  color:#13a538;
  font-size:0.62em;
  line-height:1;
  margin-left:0.12em;
  vertical-align:0.08em;
}

/* ENTER AREA */

#locationInput{
  width:100%;

  padding:18px 22px;

  border:none;

  border-radius:60px;

  font-size:18px;

  outline:none;

  background:white;
}

/* BOOK NOW BUTTON */

#bookBtn{
  border:none;

  background:linear-gradient(
  90deg,
  #213e97,
  #13a538
  );

  color:white;

  padding:18px 30px;

  border-radius:60px;

  font-size:18px;

  font-weight:bold;

  cursor:pointer;
}

.badge{
  display:inline-block;

  background:rgba(255,255,255,0.16);

  border:1px solid rgba(255,255,255,0.25);

  padding:12px 22px;

  border-radius:50px;

  backdrop-filter:blur(10px);

  -webkit-backdrop-filter:blur(10px);

  margin-bottom:25px;

  font-weight:bold;

  color:white;

  font-size:16px;
}

/* SERVICES SECTION */

.services-section{
  padding:90px 40px;

  background:#f4f8fd;
}

.services-top{
  text-align:center;

  margin-bottom:60px;
}

.service-badge{
  display:inline-block;

  background:#d9ecff;

  color:#213e97;

  padding:12px 22px;

  border-radius:50px;

  font-size:14px;

  font-weight:bold;

  letter-spacing:3px;

  margin-bottom:25px;
}

.services-top h2{
  font-size:60px;

  line-height:1.1;

  margin-bottom:20px;

  color:#111827;
}

.services-top h2 span{
  color:#213e97;
}

.services-top p{
  font-size:20px;

  color:#64748b;

  max-width:700px;

  margin:auto;

  line-height:1.7;
}

.services-grid{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(300px,1fr));

  gap:30px;
}

.service-card{
  background:white;

  border-radius:35px;

  padding:35px;

  box-shadow:0 10px 35px rgba(0,0,0,0.05);

  transition:0.3s;
}

.service-card:hover{
  transform:translateY(-8px);
}

.icon{
  width:80px;
  height:80px;

  background:linear-gradient(
  135deg,
  #213e97,
  #13a538
  );

  border-radius:25px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:36px;

  margin-bottom:28px;
}

.service-card h3{
  font-size:34px;

  margin-bottom:18px;

  color:#111827;
}

.service-card p{
  color:#64748b;

  line-height:1.8;

  font-size:18px;

  margin-bottom:35px;
}

.service-bottom{
  display:flex;

  justify-content:space-between;

  align-items:center;

  gap:15px;
}

.service-bottom span{
  color:#213e97;

  font-weight:bold;

  font-size:18px;
}

.service-bottom a{
  text-decoration:none;

  color:#111827;

  font-weight:bold;
}

.services-more-row{
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.more-services-btn,
.all-service-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:linear-gradient(90deg,#213e97,#13a538);
  color:white;
  border-radius:999px;
  font-weight:800;
  box-shadow:0 14px 30px rgba(33,62,151,0.16);
  transition:transform 0.25s, box-shadow 0.25s;
}

.more-services-btn{
  padding:14px 24px;
  font-size:16px;
}

.more-services-btn:hover,
.all-service-card a:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(19,165,56,0.18);
}

.all-services-page{
  background:#f4f8fd;
}

.all-services-hero{
  padding:70px 20px 34px;
  text-align:center;
}

.all-services-hero .service-badge{
  margin-bottom:18px;
}

.all-services-hero h1{
  color:#111827;
  font-size:48px;
  line-height:1.12;
  margin-bottom:14px;
}

.all-services-hero h1 span{
  color:#13a538;
}

.all-services-hero p{
  max-width:680px;
  margin:0 auto;
  color:#64748b;
  font-size:18px;
  line-height:1.7;
}

.all-services-grid{
  max-width:1180px;
  margin:0 auto;
  padding:30px 40px 78px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px;
}

.all-service-card{
  background:white;
  border-radius:24px;
  padding:18px;
  box-shadow:0 14px 35px rgba(33,62,151,0.08);
  transition:transform 0.25s, box-shadow 0.25s;
}

.all-service-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(33,62,151,0.12);
}

.service-image{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:18px;
  display:block;
}

.all-service-card h2{
  color:#111827;
  font-size:24px;
  line-height:1.2;
  margin-bottom:10px;
}

.all-service-card p{
  color:#64748b;
  font-size:15px;
  line-height:1.65;
  margin-bottom:18px;
}

.all-service-card a{
  width:100%;
  min-height:46px;
  font-size:15px;
}

/* MOBILE */

@media(max-width:768px){

.services-section{
  padding:45px 16px;
}

.services-top h2{
  font-size:32px;
}

.services-top p{
  font-size:15px;
}

.services-top{
  margin-bottom:35px;
}

.services-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.service-card{
  padding:14px 12px;
  border-radius:16px;
}

.icon{
  width:42px;
  height:42px;
  border-radius:12px;
  font-size:21px;
  margin-bottom:12px;
}

.service-card h3{
  font-size:16px;
  margin-bottom:8px;
}

.service-card p{
  font-size:12px;
  line-height:1.45;
  margin-bottom:12px;
}

.service-bottom{
  flex-direction:column;

  align-items:flex-start;
  gap:8px;
}

.service-bottom span{
  font-size:11px;
  line-height:1.35;
}

.service-bottom a{
  font-size:12px;
}

.services-more-row{
  grid-column:1 / -1;
  justify-content:center;
  margin-top:22px;
}

.more-services-btn{
  padding:12px 20px;
  font-size:14px;
}

.all-services-hero{
  padding:42px 16px 22px;
}

.all-services-hero h1{
  font-size:32px;
}

.all-services-hero p{
  font-size:14px;
  line-height:1.6;
}

.all-services-grid{
  padding:22px 16px 48px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.all-service-card{
  padding:12px;
  border-radius:16px;
}

.service-image{
  border-radius:14px;
  margin-bottom:12px;
}

.all-service-card h2{
  font-size:16px;
  margin-bottom:8px;
}

.all-service-card p{
  font-size:12px;
  line-height:1.45;
  margin-bottom:12px;
}

.all-service-card a{
  min-height:38px;
  font-size:12px;
}

}

/* WHY PEOPLE LOVE HOMETICK */

.love-section{
  padding:70px 40px;

  background:white;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:40px;

  flex-wrap:wrap;
}

.love-content{
  flex:1;

  min-width:320px;
}

.love-badge{
  display:inline-block;

  background:#dff1ff;

  color:#213e97;

  padding:12px 22px;

  border-radius:50px;

  font-size:14px;

  font-weight:bold;

  letter-spacing:2px;

  margin-bottom:25px;
}

.love-content h2{
  font-size:48px;

  line-height:1.15;

  margin-bottom:20px;

  color:#111827;
}

.love-content h2 span{
  color:#13a538;
}

.love-content p{
  font-size:20px;

  line-height:1.8;

  color:#64748b;

  margin-bottom:35px;

  max-width:650px;
}

.love-points{
  display:flex;

  flex-direction:column;

  gap:18px;
}

.love-item{
  background:#f4f8fd;

  padding:18px 22px;

  border-radius:18px;

  font-size:18px;

  color:#111827;

  font-weight:500;
}

.love-image{
  flex:1;

  min-width:320px;
}

.love-image img{
  width:100%;

  max-width:800px;

  border-radius:30px;

  display:block;
}

/* MOBILE */

@media(max-width:768px){

.love-section{
  padding:34px 16px;
  display:block;
}

.love-content h2{
  font-size:26px;
  margin-bottom:14px;
}

.love-content p{
  font-size:13px;
  line-height:1.55;
  margin-bottom:16px;
}

.love-item{
  font-size:12px;
  padding:10px 12px;
  border-radius:10px;
}

.love-image,
.love-content{
  min-width:0;
}

.love-image img{
  border-radius:20px;
}

.love-image{
  display:none;
}

.love-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.love-badge,
.contact-badge,
.review-badge,
.service-badge{
  padding:9px 14px;
  font-size:11px;
  letter-spacing:2px;
  margin-bottom:16px;
}

}

/* REVIEWS SLIDER */

.reviews-section{
  padding:90px 40px;

  background:#f4f8fd;

  overflow:hidden;
}

.reviews-top{
  text-align:center;

  margin-bottom:60px;
}

.review-badge{
  display:inline-block;

  background:#dff1ff;

  color:#213e97;

  padding:12px 22px;

  border-radius:50px;

  font-size:14px;

  font-weight:bold;

  letter-spacing:2px;

  margin-bottom:25px;
}

.reviews-top h2{
  font-size:52px;

  line-height:1.1;

  margin-bottom:18px;

  color:#111827;
}

.reviews-top h2 span{
  color:#13a538;
}

.reviews-top p{
  font-size:20px;

  color:#64748b;
}

.reviews-slider{
  width:100%;

  overflow:hidden;
}

.reviews-track{
  display:flex;

  gap:25px;

  animation:slideReviews 18s linear infinite;
}

.review-card{
  min-width:380px;

  background:white;

  padding:35px;

  border-radius:30px;

  box-shadow:0 10px 35px rgba(0,0,0,0.05);
}

.stars{
  font-size:24px;

  color:#fbbf24;

  margin-bottom:22px;
}

.review-card p{
  font-size:18px;

  line-height:1.8;

  color:#475569;

  margin-bottom:30px;
}

.review-user{
  display:flex;

  align-items:center;

  gap:15px;
}

.user-circle{
  width:58px;
  height:58px;

  border-radius:50%;

  background:linear-gradient(
  135deg,
  #213e97,
  #13a538
  );

  color:white;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:22px;

  font-weight:bold;
}

.review-user h4{
  font-size:18px;

  margin-bottom:5px;

  color:#111827;
}

.review-user span{
  color:#64748b;
}

@keyframes slideReviews{

0%{
  transform:translateX(0);
}

100%{
  transform:translateX(-50%);
}

}

/* MOBILE */

@media(max-width:768px){

.reviews-section{
  padding:45px 16px;
}

.reviews-top{
  margin-bottom:35px;
}

.reviews-top h2{
  font-size:31px;
}

.reviews-top p{
  font-size:15px;
}

.review-card{
  min-width:260px;

  padding:20px;
  border-radius:22px;
}

.review-card p{
  font-size:15px;
  line-height:1.6;
  margin-bottom:20px;
}

}

/* CONTACT SECTION */

.contact-section{

  padding:100px 40px;

  background:
  linear-gradient(
  180deg,
  #ffffff,
  #f4f8fd
  );
}

.contact-top{

  text-align:center;

  margin-bottom:60px;
}

.contact-badge{

  display:inline-block;

  background:#dff1ff;

  color:#213e97;

  padding:12px 22px;

  border-radius:50px;

  font-size:14px;

  font-weight:bold;

  letter-spacing:2px;

  margin-bottom:25px;
}

.contact-top h2{

  font-size:58px;

  line-height:1.1;

  margin-bottom:20px;

  color:#111827;
}

.contact-top h2 span{

  color:#13a538;
}

.contact-top p{

  font-size:20px;

  color:#64748b;

  max-width:700px;

  margin:auto;

  line-height:1.7;
}

.contact-form{

  max-width:950px;

  margin:auto;

  background:
  rgba(255,255,255,0.72);

  backdrop-filter:blur(18px);

  padding:55px;

  border-radius:40px;

  border:
  1px solid rgba(255,255,255,0.5);

  box-shadow:
  0 25px 70px rgba(33,62,151,0.12);
}

.input-group{

  display:flex;

  gap:24px;

  margin-bottom:24px;

  flex-wrap:wrap;
}

.contact-form input,
.contact-form textarea{

  flex:1;

  width:100%;

  padding:24px 26px;

  border:none;

  border-radius:24px;

  background:
  rgba(255,255,255,0.95);

  font-size:18px;

  color:#213e97;

  outline:none;

  transition:0.35s;

  box-shadow:
  inset 0 2px 8px rgba(0,0,0,0.03),
  0 10px 30px rgba(33,62,151,0.05);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{

  color:#6b7280;
}

.contact-form input:focus,
.contact-form textarea:focus{

  transform:translateY(-3px);

  box-shadow:
  0 15px 35px rgba(33,62,151,0.12);

  border:
  1px solid rgba(19,165,56,0.4);
}

.contact-form textarea{

  resize:none;

  min-height:230px;

  margin-bottom:30px;
}

.contact-form button{

  border:none;

  background:
  linear-gradient(
  90deg,
  #213e97,
  #13a538
  );

  color:white;

  padding:20px 42px;

  border-radius:60px;

  font-size:19px;

  font-weight:700;

  cursor:pointer;

  transition:0.35s;

  box-shadow:
  0 18px 40px rgba(33,62,151,0.22);
}

.contact-form button:hover{

  transform:translateY(-4px);

  box-shadow:
  0 22px 50px rgba(33,62,151,0.32);
}

/* MOBILE */

@media(max-width:768px){

.contact-section{
  padding:28px 16px;
}

.contact-top{
  margin-bottom:18px;
}

.contact-top h2{
  font-size:24px;
  margin-bottom:12px;
}

.contact-top p{
  font-size:12px;
  line-height:1.55;
}

.contact-form{
  padding:12px;
  border-radius:18px;
}

.input-group{
  flex-direction:column;
  gap:10px;
  margin-bottom:10px;
}

.contact-form input,
.contact-form textarea{
  padding:12px 14px;
  border-radius:14px;
  font-size:12px;
}

.contact-form textarea{
  min-height:95px;
  margin-bottom:14px;
}

.contact-form button{
  width:100%;
  padding:14px 20px;
  font-size:15px;
}

}

/* FOOTER */

.footer{
  background:#111827;

  color:white;

  padding:70px 40px 35px;
}

.footer-top{
  display:flex;

  gap:60px;

  flex-wrap:wrap;

  margin-bottom:45px;
}

.footer-left{
  flex:1;

  min-width:280px;
}

.footer-left h3{
  font-size:34px;

  margin-bottom:18px;
}

.footer-left p{
  color:#cbd5e1;

  line-height:1.8;

  max-width:450px;

  margin-bottom:25px;
}

.support{
  display:inline-block;

  background:linear-gradient(
  90deg,
  #213e97,
  #13a538
  );

  padding:12px 22px;

  border-radius:50px;

  font-size:15px;

  font-weight:bold;
}

.footer-right{
  display:flex;

  flex-direction:column;

  gap:16px;

  margin-top:10px;
}

.footer-right a{
  text-decoration:none;

  color:#e2e8f0;

  transition:0.3s;
}

.footer-right a:hover{
  color:#13a538;
}

.footer-social{
  display:flex;

  gap:18px;

  margin-bottom:35px;

  flex-wrap:wrap;
}

.footer-social a{
  width:55px;

  height:55px;

  border-radius:50%;

  background:#1e293b;

  display:flex;

  align-items:center;

  justify-content:center;

  color:white;

  font-size:22px;

  text-decoration:none;

  transition:0.3s;
}

.footer-social a:hover{
  background:linear-gradient(
  90deg,
  #213e97,
  #13a538
  );

  transform:translateY(-4px);
}

/* FINAL PREMIUM HOMETICK FOOTER OVERRIDE */

.footer{
  margin-top:0;
  background:
  radial-gradient(circle at 12% 20%, rgba(19,165,56,0.18), transparent 28%),
  linear-gradient(135deg, #231e97 0%, #071225 58%, #04101d 100%);
  color:white;
  padding:70px 5% 34px;
  border-radius:34px 34px 0 0;
  box-shadow:0 -20px 60px rgba(33,30,151,0.14);
}

.footer-main{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1.35fr 1fr;
  gap:42px;
  align-items:center;
}

.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-logo img{
  width:190px;
  max-width:100%;
  display:block;
  margin-bottom:26px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,0.22));
}

.footer-brand p{
  max-width:380px;
  color:#f1f5f9;
  font-size:18px;
  line-height:1.75;
  margin-bottom:24px;
}

.footer .support{
  display:inline-block;
  background:linear-gradient(90deg,#213e97,#13a538);
  padding:14px 24px;
  border-radius:50px;
  font-size:16px;
  font-weight:700;
  margin-bottom:28px;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
}

.footer-social a{
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:24px;
  text-decoration:none;
  transition:0.3s;
}

.footer-social a:hover{
  background:linear-gradient(135deg,#213e97,#13a538);
  border-color:rgba(255,255,255,0.35);
  transform:translateY(-4px);
}

.footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  color:rgba(255,255,255,0.45);
  text-align:center;
}

.footer-links a{
  color:white;
  text-decoration:none;
  font-size:17px;
  line-height:1.5;
  transition:0.3s;
}

.footer-links a:hover{
  color:#13a538;
}

.footer-contact{
  display:flex;
  flex-direction:column;
  gap:26px;
}

.footer-contact-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:start;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,0.18);
}

.footer-contact-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.footer-contact-item i{
  color:#13a538;
  font-size:30px;
  line-height:1;
  margin-top:2px;
}

.footer-contact-item h4{
  color:white;
  font-size:19px;
  line-height:1.35;
  margin-bottom:8px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  color:#e2e8f0;
  text-decoration:none;
  font-size:16px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.footer-contact-item a:hover{
  color:#13a538;
}

.footer-bottom{
  max-width:1320px;
  margin:48px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.18);
  text-align:center;
  color:#e2e8f0;
  font-size:17px;
  line-height:1.6;
}

@media(max-width:900px){

.footer{
  padding:28px 16px 18px;
  border-radius:20px 20px 0 0;
}

.footer-main{
  grid-template-columns:1fr;
  gap:18px;
}

.footer-brand{
  align-items:center;
  text-align:center;
}

.footer-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
  border-radius:999px;
  padding:8px 14px;
  margin-bottom:12px;
}

.footer-logo img{
  width:96px;
  margin-bottom:0;
}

.footer-brand p{
  max-width:300px;
  font-size:12px;
  line-height:1.45;
  margin-bottom:12px;
}

.footer .support{
  padding:9px 14px;
  font-size:11px;
  margin-bottom:14px;
}

.footer-social{
  justify-content:center;
  gap:10px;
}

.footer-social a{
  width:36px;
  height:36px;
  font-size:15px;
}

.footer-links{
  gap:6px;
  max-width:290px;
  margin:0 auto;
}

.footer-links a{
  font-size:11px;
}

.footer-links span{
  font-size:10px;
}

.footer-contact{
  gap:10px;
}

.footer-contact-item{
  grid-template-columns:24px 1fr;
  gap:10px;
  padding-bottom:10px;
}

.footer-contact-item i{
  font-size:18px;
}

.footer-contact-item h4{
  font-size:12px;
  margin-bottom:4px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  font-size:11px;
}

.footer-bottom{
  margin-top:16px;
  padding-top:12px;
  font-size:10px;
}

}

.policy-page{
  background:#f5f7fb;
}

.policy-hero{
  padding:80px 40px 45px;
  text-align:center;
  background:linear-gradient(180deg,#ffffff,#f4f8fd);
}

.policy-badge{
  display:inline-block;
  background:#dff1ff;
  color:#213e97;
  padding:12px 22px;
  border-radius:50px;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  margin-bottom:22px;
}

.policy-hero h1{
  font-size:56px;
  line-height:1.1;
  color:#111827;
  margin-bottom:18px;
}

.policy-hero p{
  max-width:760px;
  margin:0 auto;
  color:#64748b;
  font-size:19px;
  line-height:1.7;
}

.policy-content,
.faq-list{
  max-width:1050px;
  margin:0 auto;
  padding:40px 40px 90px;
  display:grid;
  gap:22px;
}

.policy-card,
.faq-item{
  background:white;
  border-radius:24px;
  padding:32px;
  box-shadow:0 15px 50px rgba(33,62,151,0.08);
}

.policy-card h2,
.faq-item h2{
  color:#111827;
  font-size:26px;
  line-height:1.25;
  margin-bottom:16px;
}

.policy-card p,
.faq-item p{
  color:#475569;
  font-size:17px;
  line-height:1.8;
}

.policy-card ul{
  display:grid;
  gap:12px;
  padding-left:20px;
}

.policy-card li{
  color:#475569;
  font-size:17px;
  line-height:1.75;
}

.policy-contact{
  border:1px solid rgba(19,165,56,0.18);
}

.policy-contact strong{
  color:#213e97;
}

.booking-test-page{
  background:#f5f7fb;
  padding-bottom:90px;
}

.booking-test-top{
  padding:70px 40px 35px;
  text-align:center;
  background:linear-gradient(180deg,#ffffff,#f4f8fd);
}

.booking-test-badge{
  display:inline-block;
  background:#dff1ff;
  color:#213e97;
  padding:12px 22px;
  border-radius:50px;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  margin-bottom:22px;
}

.booking-test-top h1{
  font-size:56px;
  line-height:1.1;
  color:#111827;
  margin-bottom:18px;
}

.booking-test-top h1 span{
  color:#13a538;
}

.booking-test-top p{
  color:#64748b;
  font-size:19px;
  line-height:1.7;
  max-width:760px;
  margin:0 auto;
}

.booking-type-grid{
  max-width:1100px;
  margin:0 auto;
  padding:35px 40px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.booking-type-card{
  border:none;
  text-align:left;
  background:white;
  color:#111827;
  padding:34px;
  border-radius:28px;
  box-shadow:0 15px 50px rgba(33,62,151,0.08);
  cursor:pointer;
  transition:0.3s;
}

.booking-type-card:hover,
.booking-type-card.active{
  transform:translateY(-5px);
  box-shadow:0 20px 55px rgba(33,62,151,0.14);
}

.booking-type-card.active{
  outline:2px solid rgba(19,165,56,0.45);
}

.booking-type-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:linear-gradient(135deg,#213e97,#13a538);
  color:white;
  font-weight:800;
  margin-bottom:22px;
}

.booking-type-card strong{
  display:block;
  font-size:30px;
  line-height:1.2;
  margin-bottom:12px;
}

.booking-type-card small{
  display:block;
  color:#64748b;
  font-size:16px;
  line-height:1.6;
}

.booking-test-flow{
  display:none;
  max-width:1180px;
  margin:0 auto;
  padding:0 40px;
}

.booking-test-flow.active{
  display:block;
}

.booking-test-layout{
  display:grid;
  grid-template-columns:1.45fr 0.8fr;
  gap:30px;
  align-items:start;
}

.booking-test-form-box,
.booking-test-summary{
  background:white;
  padding:34px;
  border-radius:28px;
  box-shadow:0 15px 50px rgba(33,62,151,0.08);
}

.booking-test-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.booking-test-form .full-row{
  grid-column:1 / -1;
}

.booking-test-summary{
  position:sticky;
  top:105px;
}

.booking-test-summary h2{
  color:#111827;
  font-size:30px;
  margin-bottom:28px;
}

.booking-test-summary hr{
  border:none;
  border-top:1px solid #e5e7eb;
  margin:22px 0;
}

.day-picker{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}

.day-picker label{
  margin:0;
}

.day-picker input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.day-picker span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:16px;
  background:#f7f9fc;
  color:#213e97;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:0.25s;
}

.day-picker input:checked + span{
  background:linear-gradient(90deg,#213e97,#13a538);
  color:white;
}

.booking-page{

padding:40px 7% 100px;

background:#f5f7fb;

min-height:100vh;
}

.booking-badge{

display:inline-block;

padding:12px 28px;

background:#dfe8ff;

color:#213e97;

border-radius:50px;

font-size:14px;

font-weight:700;

letter-spacing:3px;

margin-bottom:20px;
}

.booking-top h1{

font-size:62px;

font-weight:800;

margin-bottom:15px;

color:#111827;
}

.booking-top h1 span{

color:#13a538;
}

.booking-top p{

font-size:19px;

color:#64748b;
}

.booking-layout{

display:grid;

grid-template-columns:1.5fr 0.8fr;

gap:35px;

align-items:start;
}

.booking-form-box,
.summary-card{

background:white;

padding:40px;

border-radius:35px;

box-shadow:
0 15px 50px rgba(33,62,151,0.08);
}

.booking-form-box h2,
.summary-card h2{

font-size:34px;

margin-bottom:35px;

color:#111827;
}

.booking-form{

display:flex;

flex-direction:column;

gap:24px;
}

.booking-group{

display:flex;

flex-direction:column;
}

.booking-group label{

margin-bottom:12px;

font-size:17px;

font-weight:700;

color:#213e97;
}

.booking-group input,
.booking-group select,
.booking-group textarea{

width:100%;

padding:20px;

border:none;

background:#f7f9fc;

border-radius:22px;

font-size:17px;

outline:none;

box-sizing:border-box;

transition:0.3s;
}

.booking-group input:focus,
.booking-group select:focus,
.booking-group textarea:focus{

background:white;

box-shadow:
0 0 0 4px rgba(19,165,56,0.12);
}

.booking-group textarea{

min-height:160px;

resize:none;
}

.materials-wrap{

display:flex;

gap:14px;

flex-wrap:wrap;

align-items:center;
}

.material-card{

display:flex;

align-items:center;

justify-content:center;

gap:10px;

padding:14px 18px;

background:#f7f9fc;

border-radius:18px;

font-weight:700;

cursor:pointer;

min-width:170px;

height:70px;

transition:0.3s;
}

.material-card:hover{

background:#eef4ff;
}

.material-card input{

accent-color:#13a538;
}

.booking-note{

font-size:15px;

line-height:1.7;

color:#64748b;
}

.booking-btn{

border:none;

display:inline-flex;

justify-content:center;

align-items:center;

background:
linear-gradient(
90deg,
#213e97,
#13a538
);

color:white;

padding:20px 35px;

border-radius:60px;

font-size:19px;

font-weight:700;

cursor:pointer;

transition:0.3s;

box-shadow:
0 12px 30px rgba(33,62,151,0.18);
}

.booking-btn:hover{

transform:translateY(-3px);
}

.summary-row,
.summary-total{

display:flex;

justify-content:space-between;

margin-bottom:22px;

font-size:18px;
}

.summary-row{

color:#64748b;
}

.summary-total{

font-size:24px;

font-weight:800;

margin-top:25px;
}

.summary-total strong{

color:#13a538;
}

.summary-card hr{

border:none;

border-top:1px solid #e5e7eb;

margin:25px 0;
}

.booking-summary{

position:sticky;

top:30px;
}

.summary-toggle,
.summary-arrow,
.summary-book-btn{
display:none;
}

.location-wrapper{

position:relative;
}

.suggestions{

position:absolute;

top:100%;

left:0;

width:100%;

background:white;

border-radius:18px;

margin-top:8px;

max-height:250px;

overflow-y:auto;

box-shadow:
0 10px 30px rgba(0,0,0,0.08);

z-index:999;
}

.suggestion-item{

padding:16px 20px;

cursor:pointer;

transition:0.3s;

font-size:16px;

color:#111827;
}

.suggestion-item:hover{

background:#f3f7ff;
}

.booking-small-note{

margin-top:18px;

font-size:14px;

line-height:1.7;

color:#64748b;

text-align:center;
}

@media(max-width:768px){

.hero{

min-height:auto;

padding:0 0 36px;
}

.hero-content{

padding:55px 16px 32px;
}

.hero h1{

font-size:36px;

line-height:1;

margin-bottom:14px;
}

.hero p{

font-size:15px;

line-height:1.55;

padding:0 6px;

margin-bottom:20px;
}

.booking-box{

flex-direction:column;

gap:14px;
}

.location-wrapper{

width:100%;
}

#locationInput{

padding:14px 18px;

font-size:15px;
}

#bookBtn{

width:100%;

padding:16px;

font-size:16px;
}

.stats{

display:grid;

grid-template-columns:repeat(3,1fr);

margin-top:18px;

gap:12px;
}

.card{

width:auto;

min-width:0;

padding:12px 8px;

border-radius:14px;
}

.card h2{

font-size:20px;
}

.card span{
  font-size:10px;
}

}

@media(max-width:768px){

.booking-page{
  padding:24px 16px 120px;
}

.booking-top{
  text-align:left;
  margin-bottom:18px;
}

.booking-top h1{
  font-size:30px;
  line-height:1.1;
  margin-bottom:8px;
}

.booking-top p{
  font-size:14px;
  line-height:1.45;
  max-width:320px;
}

.booking-layout{
  grid-template-columns:1fr;
  gap:18px;
}

.booking-form-box,
.summary-card{
  padding:18px 16px;
  border-radius:20px;
}

.summary-card h2{
  font-size:24px;
  margin-bottom:22px;
}

.booking-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 12px;
}

.booking-group{
  min-width:0;
}

.booking-group:nth-of-type(5),
.booking-group:nth-of-type(8),
.booking-group:nth-of-type(9),
.booking-group:nth-of-type(10),
.booking-note,
.booking-btn{
  grid-column:1 / -1;
}

.booking-group input,
.booking-group select,
.booking-group textarea{
  padding:13px 12px;
  border-radius:14px;
  font-size:16px;
}

.booking-group textarea{
  min-height:90px;
}

.booking-summary{
  position:static;
}

.booking-summary .summary-card{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:9999;
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:18px;
  box-shadow:0 12px 40px rgba(17,24,39,0.22);
}

.summary-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.summary-arrow{
  display:block;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#eef4ff;
  position:relative;
  cursor:pointer;
}

.summary-arrow::before{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-right:2px solid #213e97;
  border-bottom:2px solid #213e97;
  left:11px;
  top:13px;
  transform:rotate(225deg);
}

.summary-toggle:checked + .summary-arrow::before{
  top:9px;
  transform:rotate(45deg);
}

.summary-card h2,
.summary-details{
  display:none;
  grid-column:1 / -1;
}

.summary-toggle:checked ~ h2,
.summary-toggle:checked ~ .summary-details{
  display:block;
}

.summary-card h2{
  font-size:18px;
  margin:0 0 8px;
}

.summary-card .summary-row{
  font-size:13px;
  margin-bottom:10px;
}

.summary-card hr{
  margin:10px 0;
}

.summary-total{
  grid-column:2;
  margin:0;
  display:block;
  font-size:12px;
}

.summary-total span{
  display:block;
  color:#64748b;
  margin-bottom:2px;
}

.summary-total strong{
  font-size:18px;
}

.summary-book-btn{
  grid-column:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  background:linear-gradient(90deg,#213e97,#13a538);
  color:white;
  padding:12px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.material-card{
  flex:1;
  width:auto;
  min-width:0;
  height:auto;
  padding:12px 8px;
  gap:6px;
  font-size:14px;
  line-height:1.2;
  border:1px solid transparent;
}

.materials-wrap{
  flex-wrap:nowrap;
  gap:8px;
}

.material-card input{
  width:auto;
}

.material-card:has(input:checked){
  background:#eef4ff;
  border-color:rgba(19,165,56,0.35);
  color:#213e97;
}

.booking-group label{
  font-size:15px;
  margin-bottom:8px;
}

.suggestions{
  text-align:left;
  max-height:150px;
  border-radius:16px;
  margin-top:6px;
}

.suggestion-item{
  padding:12px 18px;
  font-size:15px;
  text-align:left;
}

.summary-row,
.summary-total{
  gap:16px;
}

}

@media(max-width:768px){

.footer{
  padding:36px 24px 24px;
}

}

/* PREMIUM HOMETICK FOOTER */

.footer{
  margin-top:0;
  background:
  radial-gradient(circle at 12% 20%, rgba(19,165,56,0.18), transparent 28%),
  linear-gradient(135deg, #231e97 0%, #071225 58%, #04101d 100%);
  color:white;
  padding:70px 5% 34px;
  border-radius:34px 34px 0 0;
  box-shadow:0 -20px 60px rgba(33,30,151,0.14);
}

.footer-main{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1.35fr 1fr;
  gap:42px;
  align-items:center;
}

.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-logo img{
  width:190px;
  max-width:100%;
  display:block;
  margin-bottom:26px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,0.22));
}

.footer-brand p{
  max-width:380px;
  color:#f1f5f9;
  font-size:18px;
  line-height:1.75;
  margin-bottom:24px;
}

.footer .support{
  display:inline-block;
  background:linear-gradient(90deg,#213e97,#13a538);
  padding:14px 24px;
  border-radius:50px;
  font-size:16px;
  font-weight:700;
  margin-bottom:28px;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
}

.footer-social a{
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:24px;
  text-decoration:none;
  transition:0.3s;
}

.footer-social a:hover{
  background:linear-gradient(135deg,#213e97,#13a538);
  border-color:rgba(255,255,255,0.35);
  transform:translateY(-4px);
}

.footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  color:rgba(255,255,255,0.45);
  text-align:center;
}

.footer-links a{
  color:white;
  text-decoration:none;
  font-size:17px;
  line-height:1.5;
  transition:0.3s;
}

.footer-links a:hover{
  color:#13a538;
}

.footer-contact{
  display:flex;
  flex-direction:column;
  gap:26px;
}

.footer-contact-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:start;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,0.18);
}

.footer-contact-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.footer-contact-item i{
  color:#13a538;
  font-size:30px;
  line-height:1;
  margin-top:2px;
}

.footer-contact-item h4{
  color:white;
  font-size:19px;
  line-height:1.35;
  margin-bottom:8px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  color:#e2e8f0;
  text-decoration:none;
  font-size:16px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.footer-contact-item a:hover{
  color:#13a538;
}

.footer-bottom{
  max-width:1320px;
  margin:48px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.18);
  text-align:center;
  color:#e2e8f0;
  font-size:17px;
  line-height:1.6;
}

@media(max-width:900px){

.footer{
  padding:46px 22px 28px;
  border-radius:26px 26px 0 0;
}

.footer-main{
  grid-template-columns:1fr;
  gap:34px;
}

.footer-brand{
  align-items:center;
  text-align:center;
}

.footer-logo img{
  width:165px;
  margin-bottom:18px;
}

.footer-brand p{
  font-size:15px;
  line-height:1.65;
  margin-bottom:18px;
}

.footer .support{
  padding:11px 18px;
  font-size:13px;
  margin-bottom:22px;
}

.footer-social{
  justify-content:center;
  gap:14px;
}

.footer-social a{
  width:46px;
  height:46px;
  font-size:19px;
}

.footer-links{
  gap:8px;
}

.footer-links a{
  font-size:14px;
}

.footer-links span{
  font-size:12px;
}

.footer-contact{
  gap:18px;
}

.footer-contact-item{
  grid-template-columns:34px 1fr;
  gap:12px;
  padding-bottom:18px;
}

.footer-contact-item i{
  font-size:24px;
}

.footer-contact-item h4{
  font-size:16px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  font-size:14px;
}

.footer-bottom{
  margin-top:30px;
  padding-top:22px;
  font-size:13px;
}

}

/* DESKTOP POLISH ONLY */
@media(min-width:901px){
  .header{
    height:82px;
    padding-left:max(72px, calc((100vw - 1200px) / 2 + 24px));
    padding-right:max(72px, calc((100vw - 1200px) / 2 + 24px));
  }

  .logo{
    width:165px;
    height:auto;
    transform:translateY(-55px);
  }

  .header > a:first-child{
    width:165px;
    height:56px;
    overflow:hidden;
    display:block;
  }

  .phone-btn{
    padding:12px 28px;
    font-size:17px;
    min-width:158px;
  }

  .hero{
    min-height:620px;
  }

  .hero-content{
    max-width:1180px;
    margin:0 auto;
    padding:54px 42px 46px;
    text-align:left;
  }

  .badge{
    display:inline-block;
    padding:9px 17px;
    margin-bottom:16px;
    font-size:13px;
  }

  .hero h1{
    max-width:820px;
    font-size:58px;
    line-height:1.08;
    margin-bottom:18px;
  }

  .hero p{
    max-width:760px;
    margin-left:0;
    margin-right:0;
    font-size:19px;
    line-height:1.55;
    margin-bottom:28px;
    white-space:nowrap;
  }

  .booking-box{
    justify-content:flex-start;
    gap:18px;
    margin-bottom:28px;
  }

  .location-wrapper{
    width:430px;
  }

  #locationInput,
  #bookBtn{
    padding:16px 24px;
    font-size:17px;
  }

  .suggestions{
    top:calc(100% + 8px);
    max-height:260px;
    border-radius:22px;
    overflow:auto;
    box-shadow:0 18px 44px rgba(17,24,39,0.18);
  }

  .suggestion-item{
    padding:14px 18px;
    font-size:16px;
    text-align:left;
  }

  .stats{
    justify-content:flex-start;
    gap:16px;
    margin-top:0;
  }

  .card{
    min-width:0;
    width:166px;
    min-height:74px;
    display:grid;
    grid-template-columns:42px 1fr;
    grid-template-areas:
      "icon value"
      "icon label";
    align-items:center;
    column-gap:12px;
    padding:14px 16px;
    border-radius:16px;
    background:rgba(255,255,255,0.16);
    border:1px solid rgba(255,255,255,0.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 14px 36px rgba(3,10,28,0.22);
  }

  .card h2{
    grid-area:value;
    font-size:26px;
    line-height:1;
    margin:0 0 2px;
    color:white;
  }

  .card > span:not(.stat-icon){
    grid-area:label;
    font-size:11px;
    line-height:1.1;
    font-weight:800;
    color:white;
  }

  .stat-icon{
    grid-area:icon;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #13a538;
    border-radius:50%;
    color:#13a538;
    font-size:22px;
  }

  .services-section{
    padding:68px 40px;
  }

  .services-top{
    max-width:760px;
    margin:0 auto 38px;
  }

  .service-badge{
    padding:10px 18px;
    font-size:12px;
    margin-bottom:18px;
  }

  .services-top h2{
    font-size:44px;
    margin-bottom:14px;
  }

  .services-top p{
    max-width:820px;
    font-size:17px;
    line-height:1.6;
    white-space:nowrap;
  }

  .services-grid{
    max-width:1180px;
    margin:0 auto;
    grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
    gap:22px;
  }

  .services-more-row{
    grid-column:auto;
    min-height:330px;
    margin:0;
    justify-content:center;
  }

  .service-card{
    border-radius:24px;
    padding:26px;
    min-height:330px;
  }

  .icon{
    width:62px;
    height:62px;
    border-radius:18px;
    font-size:27px;
    margin-bottom:22px;
  }

  .service-card h3{
    font-size:26px;
    margin-bottom:12px;
  }

  .service-card p{
    font-size:16px;
    line-height:1.65;
    margin-bottom:24px;
  }

  .service-bottom span{
    font-size:15px;
  }

  .service-bottom a{
    font-size:15px;
  }

  .love-section{
    padding:58px max(44px, calc((100vw - 1180px) / 2 + 24px));
    gap:34px;
    flex-wrap:nowrap;
  }

  .love-content{
    max-width:540px;
    min-width:0;
  }

  .love-badge{
    padding:10px 18px;
    font-size:12px;
    margin-bottom:18px;
  }

  .love-content h2{
    font-size:38px;
    line-height:1.16;
    margin-bottom:16px;
  }

  .love-content p{
    max-width:520px;
    font-size:16px;
    line-height:1.65;
    margin-bottom:22px;
  }

  .love-points{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  .love-item{
    padding:14px 16px;
    border-radius:14px;
    font-size:15px;
  }

  .love-image{
    min-width:0;
    flex:0 1 460px;
  }

  .love-image img{
    max-width:460px;
    border-radius:22px;
  }
}

@media(max-width:768px){

.policy-hero{
  padding:46px 16px 28px;
}

.policy-badge{
  padding:9px 14px;
  font-size:11px;
  letter-spacing:2px;
  margin-bottom:16px;
}

.policy-hero h1{
  font-size:32px;
  margin-bottom:12px;
}

.policy-hero p{
  font-size:14px;
  line-height:1.6;
}

.policy-content,
.faq-list{
  padding:22px 16px 48px;
  gap:14px;
}

.policy-card,
.faq-item{
  padding:20px;
  border-radius:18px;
}

.policy-card h2,
.faq-item h2{
  font-size:20px;
  margin-bottom:10px;
}

.policy-card p,
.faq-item p,
.policy-card li{
  font-size:14px;
  line-height:1.65;
}

.policy-card ul{
  gap:8px;
  padding-left:18px;
}

}

@media(max-width:768px){

.booking-test-page{
  padding-bottom:48px;
}

.booking-test-top{
  padding:42px 16px 24px;
  text-align:left;
}

.booking-test-badge{
  padding:9px 14px;
  font-size:11px;
  letter-spacing:2px;
  margin-bottom:16px;
}

.booking-test-top h1{
  font-size:32px;
  margin-bottom:12px;
}

.booking-test-top p{
  font-size:14px;
  line-height:1.55;
}

.booking-type-grid{
  padding:22px 16px;
  grid-template-columns:1fr;
  gap:14px;
}

.booking-type-card{
  padding:20px;
  border-radius:18px;
}

.booking-type-card span{
  width:38px;
  height:38px;
  border-radius:12px;
  margin-bottom:14px;
}

.booking-type-card strong{
  font-size:22px;
  margin-bottom:8px;
}

.booking-type-card small{
  font-size:14px;
}

.booking-test-flow{
  padding:0 16px;
}

.booking-test-layout{
  grid-template-columns:1fr;
  gap:16px;
}

.booking-test-form-box,
.booking-test-summary{
  padding:18px 16px;
  border-radius:20px;
}

.booking-test-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 12px;
}

.booking-test-summary{
  position:static;
}

.booking-test-summary h2{
  font-size:22px;
  margin-bottom:18px;
}

.day-picker{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.day-picker span{
  min-height:42px;
  border-radius:14px;
  font-size:13px;
}

}

/* FINAL PREMIUM HOMETICK FOOTER OVERRIDE */

.footer{
  margin-top:0;
  background:
  radial-gradient(circle at 12% 20%, rgba(19,165,56,0.18), transparent 28%),
  linear-gradient(135deg, #231e97 0%, #071225 58%, #04101d 100%);
  color:white;
  padding:70px 5% 34px;
  border-radius:34px 34px 0 0;
  box-shadow:0 -20px 60px rgba(33,30,151,0.14);
}

.footer-main{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1.35fr 1fr;
  gap:42px;
  align-items:center;
}

.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-logo img{
  width:190px;
  max-width:100%;
  display:block;
  margin-bottom:26px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,0.22));
}

.footer-brand p{
  max-width:380px;
  color:#f1f5f9;
  font-size:18px;
  line-height:1.75;
  margin-bottom:24px;
}

.footer .support{
  display:inline-block;
  background:linear-gradient(90deg,#213e97,#13a538);
  padding:14px 24px;
  border-radius:50px;
  font-size:16px;
  font-weight:700;
  margin-bottom:28px;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
}

.footer-social a{
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:24px;
  text-decoration:none;
  transition:0.3s;
}

.footer-social a:hover{
  background:linear-gradient(135deg,#213e97,#13a538);
  border-color:rgba(255,255,255,0.35);
  transform:translateY(-4px);
}

.footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  color:rgba(255,255,255,0.45);
  text-align:center;
}

.footer-links a{
  color:white;
  text-decoration:none;
  font-size:17px;
  line-height:1.5;
  transition:0.3s;
}

.footer-links a:hover{
  color:#13a538;
}

.footer-contact{
  display:flex;
  flex-direction:column;
  gap:26px;
}

.footer-contact-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:start;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,0.18);
}

.footer-contact-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.footer-contact-item i{
  color:#13a538;
  font-size:30px;
  line-height:1;
  margin-top:2px;
}

.footer-contact-item h4{
  color:white;
  font-size:19px;
  line-height:1.35;
  margin-bottom:8px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  color:#e2e8f0;
  text-decoration:none;
  font-size:16px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.footer-contact-item a:hover{
  color:#13a538;
}

.footer-bottom{
  max-width:1320px;
  margin:48px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.18);
  text-align:center;
  color:#e2e8f0;
  font-size:17px;
  line-height:1.6;
}

@media(max-width:900px){

.footer{
  padding:46px 22px 28px;
  border-radius:26px 26px 0 0;
}

.footer-main{
  grid-template-columns:1fr;
  gap:34px;
}

.footer-brand{
  align-items:center;
  text-align:center;
}

.footer-logo img{
  width:165px;
  margin-bottom:18px;
}

.footer-brand p{
  font-size:15px;
  line-height:1.65;
  margin-bottom:18px;
}

.footer .support{
  padding:11px 18px;
  font-size:13px;
  margin-bottom:22px;
}

.footer-social{
  justify-content:center;
  gap:14px;
}

.footer-social a{
  width:46px;
  height:46px;
  font-size:19px;
}

.footer-links{
  gap:8px;
}

.footer-links a{
  font-size:14px;
}

.footer-links span{
  font-size:12px;
}

.footer-contact{
  gap:18px;
}

.footer-contact-item{
  grid-template-columns:34px 1fr;
  gap:12px;
  padding-bottom:18px;
}

.footer-contact-item i{
  font-size:24px;
}

.footer-contact-item h4{
  font-size:16px;
}

.footer-contact-item h4 span,
.footer-contact-item a{
  font-size:14px;
}

.footer-bottom{
  margin-top:30px;
  padding-top:22px;
  font-size:13px;
}

}
