/* Подключение шрифта Rubik для совместимости с темой */
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Tennis Programs Block - интеграция со стилями Elementor */
.tennis-programs{
  --primary:#DDDE16; /* Акцентный цвет из Elementor */
  --secondary:#1C2536; /* Вторичный цвет */
  --text:#000;
  --bg:#FFF;
  --gray-700:#3f444b;
  --gray-600:#515962;
  font-family: 'Rubik', sans-serif; /* Соответствует шрифту темы */
}

.tennis-programs *{
  box-sizing:border-box;
}

.tennis-programs .tp-container{
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 16px;
}

.tennis-programs .tp-hero{
  background:var(--secondary);
  color:#fff;
  padding:40px 0 28px;
}

.tennis-programs .tp-hero h1{
  margin:0 0 .4rem;
  font-weight:600;
  font-family: 'Rubik', sans-serif;
}

.tennis-programs .tp-hero .tp-hero-sub{
  margin:.2rem 0 1rem;
  color:#e8ebf0;
}

.tennis-programs .tp-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:.5rem;
}

.tennis-programs .tp-badge{
    display: inline-block;
    background: #fbffb2;
    color: #000;
    padding: 15px 20px;
    font-size: 16px;
    line-height: 1;
    border-radius: 0;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
}

@media screen and (max-width: 991px) {
  .tennis-programs .tp-badge {
    padding: 12px 16px;
    font-size: 14px;
    width: 100%;
  }
}

.tennis-programs .tp-nav{
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
  background:#fafafa;
}

.tennis-programs .tp-nav .tp-container{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  padding:10px 16px;
}

.tennis-programs .tp-link{
  display:inline-block;
  padding:10px 12px;
  color:var(--secondary);
  text-decoration:none;
  border:1px solid transparent;
  border-radius:0;
  font-family: 'Rubik', sans-serif;
  font-weight:500;
}

.tennis-programs .tp-link:hover{
  border-color:var(--secondary);
  color:#336; /* Соответствует hover цвету из темы */
}

.tennis-programs .tp-section{
  padding:32px 0;
  border-bottom:1px solid #f0f2f5;
}

.tennis-programs .tp-head h2{
  font-family: 'Rubik', sans-serif;
  font-weight:600;
}

.tennis-programs .tp-head p{
  color:var(--gray-600);
  max-width:800px;
  margin:.2rem 0 1.2rem;
}

.tennis-programs .tp-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

@media (min-width:900px){
  .tennis-programs .tp-cards{
    grid-template-columns:2fr 1fr;
  }
}

.tennis-programs .tp-card{
  border:1px solid #e6e8ec;
  padding:18px;
  background:#fff;
  border-radius:0;
}

.tennis-programs .tp-card h3, .tennis-programs .tp-card h4{
  font-family: 'Rubik', sans-serif;
  font-weight:600;
}

.tennis-programs .tp-card-accent{
  background:#fcfde8;
  border-color:#ecee7a;
}

.tennis-programs .tp-hint{
  color:var(--gray-600);
  font-size:13px;
  margin-top:8px;
}

.tennis-programs .tp-note{
  margin-top:14px;
  padding:10px;
  background:#f7f7f7;
  border:1px dashed #ddd;
}

.tennis-programs .tp-price{
  list-style:none;
  margin:0 0 12px;
  padding:0;
}

.tennis-programs .tp-price li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-bottom:1px dashed #e5e7eb;
}

.tennis-programs .tp-price li:last-child{
  border-bottom:none;
}

.tennis-programs .tp-price span{
  color:var(--gray-700);
}

.tennis-programs .tp-price strong{
  font-weight:600;
  font-family: 'Rubik', sans-serif;
}

.tennis-programs .tp-bullets,
.tennis-programs .tp-check{
  margin:.4rem 0 .6rem;
  padding-left:18px;
}

.tennis-programs .tp-bullets li,
.tennis-programs .tp-check li{
  margin:.25rem 0;
}

/* Стили кнопок в соответствии с Elementor */
.tennis-programs .tp-btn{
  display:inline-block;
  background-color:#69727d; /* Базовый цвет Elementor */
  border-radius:0; /* Без скруглений как в теме */
  color:#fff;
  font-size:16px;
  line-height:1;
  padding:20px 35px;
  fill:#fff;
  text-align:center;
  transition:all .3s;
  text-decoration:none;
  border-style:none;
  cursor:pointer;
  user-select:none;
  font-family: 'Rubik', sans-serif;
  font-weight:600;
  text-transform:uppercase; /* Как в специфичных стилях */
  box-shadow:none;
}

.tennis-programs .tp-btn:focus,
.tennis-programs .tp-btn:hover,
.tennis-programs .tp-btn:visited{
  color:#fff;
}

.tennis-programs .tp-btn-primary{
  background-color:var(--primary); /* Акцентный цвет из CSS переменных */
  color:var(--secondary); /* Вторичный цвет для текста */
  border-style:none;
}

.tennis-programs .tp-btn-primary:hover,
.tennis-programs .tp-btn-primary:focus{
  background-color:var(--secondary); /* Ховер как в Elementor */
  color:#FFFFFF;
  border-style:none;
}

.tennis-programs .tp-btn-ghost{
  background:#fff;
  color:var(--secondary);
  border:2px solid #d1d5db;
}

.tennis-programs .tp-btn-ghost:hover{
  border-color:var(--secondary);
  background-color:var(--secondary);
  color:#fff;
}

/* Адаптивные стили для кнопок */
@media (max-width:1366px){
  .tennis-programs .tp-btn{
    padding:15px 15px;
  }
}

@media (max-width:1024px){
  .tennis-programs .tp-btn{
    padding:15px 15px;
  }
}

@media (max-width:880px){
  .tennis-programs .tp-btn{
    padding:15px 5px;
    width: 100%;
  }
}

@media (max-width:767px){
  .tennis-programs .tp-btn{
    padding:15px 5px;
    width: 100%;
  }
}

@media (min-width:2400px){
  .tennis-programs .tp-btn{
    font-size:16px;
    padding:20px 35px;
  }
}

.tennis-programs .tp-cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.tennis-programs .tp-foot{
  background:#fafafa;
  border-top:1px solid #e5e7eb;
  padding:22px 0;
}

.tennis-programs .tp-foot .tp-container{
  display:grid;
  gap:12px;
  align-items:center;
  grid-template-columns:1fr;
}

@media (min-width:800px){
  .tennis-programs .tp-foot .tp-container{
    grid-template-columns:1fr auto;
  }
}

.tennis-programs .tp-foot p{
  margin:.2rem 0 0;
}

.tennis-programs .tp-foot h4{
  font-family: 'Rubik', sans-serif;
  font-weight:600;
}
