/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/
/*    background: #cdb6d4; */

/* Общие настройки */
:root {
  --main-color: #1F1F1F;
  --hover-color: #807b82;
  --btn-color: #ff6b6b;
  --btn-hover: #2F2F2F;
}

body {
  margin: 0;
  padding: 0;
}
a {
    text-decoration: none !important;
    color: inherit;
}
a:hover{
    color: inherit;
}
.ast-woocommerce-container{
     padding-left: 30px;
    padding-right: 30px;

}
.reviews-btn,
.hero-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.checkout-button
{
  display: inline-block;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  background-color: #ff6b6b !important;
  color: #fff !important;
  border: none;
  font-weight: 500;
  transition: 0.3s;
}
#ast-scroll-top {
  background-color: #ff6b6b !important;
  color: #fff !important;
}
.reviews-btn:hover,
.hero-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.checkout-button:hover 
.woocommerce nav.woocommerce-pagination ul li a {
  background: #FF5252 !important;
  color: #fff !important;
}
.menu a,
.woocommerce-loop-product__title {
  color: var(--main-color);
}

.menu a:hover,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
  color: var(--hover-color);
}
.woocommerce-js ul.products li.product a.ast-loop-product__link {
text-decoration: none;
}
/* Верхняя полоса */
.top-bar {
  font-size: 14px;
  color: #FFFFFF;
  background-color: #1B2233;
}

/* Логотип */
.logo a {
  font-size: 24px;
  font-weight: 700;
   color: #FFFFFF;
  text-decoration: none;
}
.logo-link {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-logo {
    height: 50px;
    width: auto;
}
.logo img {
    height: 50px;
    width: auto;
    display: block;
}
.site-name {
    font-size: 24px;
    font-weight: 700;
     color: #2F3A4A;
}

.site-header{

background: rgba(252, 248, 242, .92);
border-bottom: 1px solid rgba(27,34,51,.08);
}

/* Меню */
.menu {
  margin: 0;
  padding: 0;
}

.menu li {
  list-style: none;
}

.site-header .navbar-toggler {
    border: none;
    padding: 0;
}
.navbar-toggler-icon{
    background-color: #ff6b6b;
}
.site-header .navbar-nav {
    list-style: none;
}

@media (max-width: 991px) {

    .site-header .navbar-collapse {
        background:  rgba(252, 248, 242, .92);
        padding: 1rem;
        margin-top: 1rem;
    }

    .site-header .navbar-nav {
        flex-direction: column;
        gap: 12px;
    }

}
.site-header .navbar-nav a {
    position: relative;
    color: #2F3A4A !important;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .3px;

    transition:
        color .3s ease,
        text-shadow .3s ease;
}

.site-header .navbar-nav a:hover,
.site-header .current-menu-item > a,
.site-header .current-menu-parent > a {

    color:#FF6B6B !important;

    text-shadow:0 0 8px rgba(255,107,107,.25);

    transform:translateY(-1px);
}


.site-header .navbar-nav a:hover::after,
.site-header .current-menu-item > a::after,
.site-header .current-menu-parent > a::after {

    width: 100%;
}

/* Иконки поиска и корзины */
.header-actions .btn-link{
    color:#2F3A4A !important;

    transition:.3s;
}

.header-actions .btn-link:hover{

    color:#FF6B6B !important;

    transform:translateY(-1px);
}

.header-actions i {
  font-size: 1.3rem; 
}

.bg-dark{
    background-color: #ff6b6b !important;
    color:#fff;
}
.btn-dark{
      background-color: #ff6b6b !important;
    color:#fff;  
}
@media (max-width: 991px) {

    /* скрываем логотип */
    .logo {
        display: none;
    }

    /* скрываем поиск */
    .search-wrapper {
        display: none;
    }

    /* скрываем телефон */
    .top-bar .container span:last-child {
        display: none;
    }

    /* email по центру */
    .top-bar .container {
        justify-content: center !important;
    }

    /* убираем средний отступ Bootstrap */
    .header-main {
        padding: 12px 0;
    }

    /* первая колонка (логотип) исчезает */
    .header-main .col-lg-3:first-child,
    .header-main .col-md-3:first-child {
        display: none;
    }

    /* меню занимает левую половину */
    .header-main .col-lg-6,
    .header-main .col-md-6 {
        width: 50%;
    }

    /* корзина занимает правую половину */
    .header-main .col-lg-3:last-child,
    .header-main .col-md-3:last-child {
        width: 50%;
    }

    /* гамбургер слева */
    .navbar {
        justify-content: flex-start;
    }

    /* корзина справа */
    .header-actions {
        justify-content: flex-end !important;
    }

    /* выпадающее меню */
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background:rgba(255,255,255,.92);;
        padding: 1rem;
        box-shadow: 0 4px 12px rgba(0,0,0,.1);
        z-index: 1000;
    }

    .navbar-nav {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}
.navbar-nav .menu-item-has-children {
    position: relative;
}

.navbar-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background:rgba(255,255,255,.92);
    min-width: 220px;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,.1);
    z-index: 999;
}

.navbar-nav .menu-item-has-children:hover > .sub-menu {
    display: block;
}

.navbar-nav .sub-menu li a {
    display: block;
    padding: 8px 15px;
    text-decoration: none;
}
.menu-item-has-children > a::after {
    content: "\F282";
    font-family: "bootstrap-icons";
    font-size: 10px;
    margin-left: 5px;
    vertical-align: middle;
}
.cart-toggle,
.search-toggle,
.navbar-toggler,
.cart-toggle:hover,
.search-toggle:hover,
.navbar-toggler:hover,
.cart-toggle:focus,
.search-toggle:focus,
.navbar-toggler:focus,
.cart-toggle:active,
.search-toggle:active,
.navbar-toggler:active
{
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
}

/* Счетчик корзины */
.cart-wrapper .badge {
  font-size: 11px;
  vertical-align: top;
}

/* Выпадающий поиск */

#searchBox {
    width: 320px;
    z-index: 1050;
}
/* Выпадающая корзина */
#cartBox {
  min-width: 320px;
  z-index: 9999;
  border-radius: 8px;
}

/* Поле поиска */
#searchBox input[type="search"] {
  width: 100%;
}

/* WooCommerce мини-корзина */
.widget_shopping_cart {
  min-width: 280px;
}

/* Адаптив */
@media (max-width: 768px) {
  .logo {
    text-align: center;
    margin-bottom: 15px;
  }

  .header-actions {
    justify-content: center;
    margin-top: 15px;
  }

  .menu {
    justify-content: center;
  }
}

.hero{
    position:relative;
    overflow:hidden;
    min-height:600px;
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        90deg,
        rgba(15, 23, 42, .72) 0%,
        rgba(15, 23, 42, .45) 35%,
        rgba(15, 23, 42, .15) 70%,
        rgba(15, 23, 42, 0) 100%
    );
}
.hero-content{
    max-width:680px;
    padding-top:130px;
}

.hero-backgrounds{
    position:absolute;
    inset:0;
    z-index:0;
}

.hero-bg{

    position:absolute;
    inset:0;
     background-size: cover;
    background-position: center top;
    opacity:0;
    transition:opacity 1.2s ease;
    transform:scale(1);
}

.hero-bg.active{

    opacity:1;
    transform:scale(1.02);
    transition:
        opacity 1.2s ease,
        transform 7s linear;

}

.hero .container{
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:calc(100vh - 120px);
}
.hero h1 {
    font-size: 56px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 20px;
    transition:opacity .5s ease;
    color: #F8FAFC;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 650px;
    letter-spacing: -1px;
    text-shadow:0 4px 20px rgba(0,0,0,.35);
}

.hero p {
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 40px;
    transition:opacity .5s ease;
    color: rgba(255, 255, 255, 0.9);
    max-width: 560px;
    text-shadow:0 2px 10px rgba(0,0,0,.25);
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:18px 36px;
}
.hero-btn i {
  margin-left: 10px;
}

.hero-benefits {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin: 20px 0 0;
    padding-bottom:40px;
    flex-wrap: wrap;
}

.benefit-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;

    flex: 0 1 360px;

    padding: 22px;

    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border: 1px solid rgba(255,255,255,.25);
    border-radius: 18px;

    box-shadow: 0 12px 35px rgba(0,0,0,.18);

    transition: .3s ease;
    overflow: hidden;
}

.benefit-card::before{

    content:"";

    position:absolute;
    left:0;
    top:0;

    width:100%;
    height:4px;

    background:linear-gradient(90deg,#4F8DFF,#69B3FF);
}

.benefit-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(31,42,61,.18);
}

.hero-benefits i{

    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:50%;


    font-size:28px;

    transition:.3s;
}

.benefit-card:hover i{

    background:#3B82F6;
    color:#fff;

    transform:rotate(-8deg) scale(1.08);
}
.benefit-blue::before{
    background:#5B8EF7;
}

.benefit-blue i{
    background:#EAF3FF;
    color:#5B8EF7;
}

.benefit-blue:hover i{
    background:#5B8EF7;
    color:#fff;
}
.benefit-coral::before{
    background:#FF6B6B;
}

.benefit-coral i{
    background:#FFE9E9;
    color:#FF6B6B;
}

.benefit-coral:hover i{
    background:#FF6B6B;
    color:#fff;
}
.benefit-green::before{
    background:#63C38D;
}

.benefit-green i{
    background:#EAF9F1;
    color:#63C38D;
}

.benefit-green:hover i{
    background:#63C38D;
    color:#fff;
}

.benefit-content h3{

    margin:0 0 8px;

    font-size:20px;
    font-weight:700;
color:#374151;
}

.benefit-content p{

    margin:0;

    font-size:15px;
    line-height:1.55;

    color:#4B5563;
}
.categories {
  padding: 80px 0;
}
.category-card-content {
  padding: 10px;
}

.category-card {
  display: block;
  text-decoration: none;
  background: #FFFFFF;
  border: 1px solid #E8EEFF;
  border-radius: 4px;
  overflow: hidden;
  transition:.35s;
}
.category-card:hover{
    transform: translateY(-10px);
}

.category-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
    transition: transform .3s ease;
}

.category-card:hover img {
    transform: scale(1.05);
}
.category-card h3 {
  margin-top: 16px;
  text-align: center;
  font-size: 18px;
      color: #1F1F1F;

}
.category-description {
    margin-top: 10px;
    font-size: 14px;
    color: #1F1F1F;
    line-height: 1.5;
    padding: 20px;
}
.product-category .woocommerce-loop-category__title {
    margin-bottom: 10px;
}
.categories .carousel {
    padding: 0 70px;
}

.carousel-control-prev,
.carousel-control-next{
    width:50px;
    height:50px;
    top:50%;
    transform:translateY(-50%);
    background:#ff6b6b;
    border-radius:4px;
    opacity:1;
}

.carousel-control-prev i,
.carousel-control-next i{
    color:#fff;
    font-size:28px;
    line-height:1;
}
.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.carousel-control-prev:hover,
.carousel-control-next:hover,
.carousel-control-prev:active,
.carousel-control-next:active,
.carousel-control-prev:focus,
.carousel-control-next:focus  {
    background: #FF5252;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: brightness(0) invert(1);
}
/*shop-card*/
.popular-products .woocommerce ul.products li.product {
    background: #FFFFFF;
    border: 1px solid #E8EEFF;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(31, 42, 90, 0.05);
    overflow: hidden;
    text-align: center;
    padding-bottom: 20px;
       display: flex;
    flex-direction: column;
}
.woocommerce ul.products li.product img {
    height: 220px !important;
    object-fit: contain;
}
.woocommerce-loop-product__title {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 8px !important;
}
.ast-woo-product-category {
    margin-bottom: 6px !important;
}

.price {
    margin-bottom: 12px !important;
}
.in-stock{
 padding-left: 15px;
    margin-bottom: 8px;
}
.astra-shop-summary-wrap{
        padding: 15px 18px 18px;
      display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.woocommerce ul.products li.product .button {
    margin-top: auto;
    width: fit-content;
   /* min-width: 140px;*/
    padding: 12px 20px;
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap;
        align-self: center;

}
.popular-products .ast-article-single.product {
    transition: transform .3s ease, box-shadow .3s ease;
    will-change: transform;
}

.popular-products .ast-article-single.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(31, 42, 90, 0.10);
}
/* ==========================
   Promo Ticket
========================== */

.promo-ticket{
    padding:70px 0;
    background:#fff;
}

.promo-ticket-box{

    position:relative;

    display:grid;
    grid-template-columns:1.2fr .8fr;

    align-items:center;

    gap:40px;

    padding:60px;

    border-radius:28px;

    background:linear-gradient(135deg,#FFF7F7,#FFFDF8);

    overflow:hidden;

    box-shadow:0 20px 40px rgba(0,0,0,.08);

    transition:.35s;
}

.promo-ticket-box:hover{

    transform:translateY(-6px);

    box-shadow:0 30px 55px rgba(0,0,0,.12);

}

/* вырезы купона */

.promo-ticket-box::before,
.promo-ticket-box::after{

    content:"";

    position:absolute;

    width:70px;
    height:70px;

    background:#fff;

    border-radius:50%;

    top:50%;

    transform:translateY(-50%);
}

.promo-ticket-box::before{

    left:-35px;

}

.promo-ticket-box::after{

    right:-35px;

}

.promo-ticket-label{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    background:#FFE6E6;

    color:#FF6B6B;

    font-size:14px;

    font-weight:700;

    margin-bottom:22px;
}

.promo-ticket-content h2{

    font-size:44px;

    font-weight:800;

    line-height:1.2;

    color:#222;

    margin-bottom:20px;
}

.promo-ticket-content p{

    font-size:18px;

    color:#666;

    line-height:1.8;

    max-width:560px;

    margin-bottom:35px;
}

/* правая часть */

.promo-ticket-image{

    position:relative;

    height:280px;

    display:flex;

    justify-content:center;

    align-items:center;
}

.gift-circle{

    width:170px;
    height:170px;

    border-radius:50%;

    display:flex;

    justify-content:center;
    align-items:center;

    background:linear-gradient(135deg,#FF6B6B,#FF8E8E);

    box-shadow:0 15px 35px rgba(255,107,107,.35);
}

.gift-circle i{

    font-size:72px;

    color:#fff;
}

/* декоративные */

.star,
.balloon,
.percent{

    position:absolute;

    opacity:.18;
}

.star{

    color:#FFC107;

    font-size:34px;
}

.star1{

    top:15px;
    left:40px;
}

.star2{

    bottom:20px;
    right:30px;
}

.balloon{

    color:#5B8EF7;

    font-size:48px;

    right:20px;

    top:40px;
}

.percent{

    color:#63C38D;

    font-size:62px;

    left:15px;

    bottom:30px;
}

/* адаптив */

@media(max-width:992px){

    .promo-ticket-box{

        grid-template-columns:1fr;

        text-align:center;

        padding:45px 30px;
    }

    .promo-ticket-content p{

        margin-left:auto;
        margin-right:auto;
    }

}
/*how it works*/
.how-it-works {
    padding: 100px 0;
    background: #fff;
}

.steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.step {
    position: relative;
    padding: 0 28px;
    background: transparent;
    border: none;
    text-align: left;
    transition: transform .3s ease;
}

.step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 8px;
    right: 0;
    width: 1px;
    height: 120px;
    background: #DDD7D1;
    transition: background .3s ease;
}
.step:hover:not(:last-child)::after {
    background: #ff6b6b;
}
.step:hover {
    transform: translateY(-4px);
}

.step-number {
    display: block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #8E8E8E;
}

.step-icon {
    display: block;
    margin-bottom: 20px;
    font-size: 34px;
    color: #2F2B28;
    transition: color .3s ease;
}

.step:hover .step-icon {
    color: #ff6b6b;
}
.step h3 {
    margin: 0 0 12px;
    color: #2F2B28;
    font-size: 22px;
    font-weight: 600;
}

.step p {
    margin: 0;
    color: #6A625C;
    font-size: 15px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    .steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .steps {
        grid-template-columns: 1fr;
    }

    .how-it-works h2 {
        font-size: 32px;
    }
}
/*delivery block*/


.info-section {
    padding: 100px 0;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.info-card {
    display: flex;
    background: #fff;
    border: 1px solid #ECE5DD;
    border-radius: 8px;
    overflow: hidden;
    min-height: 340px;
    transition: .3s;
}

.info-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(0,0,0,.08);
}

.info-image {
    flex: 0 0 38%;
}

.info-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.info-content {
    flex: 1;
    padding: 38px;
    display: flex;
    flex-direction: column;
}

.info-content .section-subtitle {
    margin-bottom: 10px;
}

.info-content h3 {
    margin-bottom: 24px;
    font-size: 30px;
    color: #2F2B28;
}

.info-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-content li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 14px;
    color: #5E5650;
    line-height: 1.6;
}

.info-content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;

    width: 8px;
    height: 8px;

    border-radius: 50%;
    background: #6B4F3B;
}

.info-content .hero-btn {
    margin-top: auto;
    width: fit-content;
}
@media (max-width: 768px) {

    .info-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .info-card {
        flex-direction: column;
        min-height: auto;
    }

    .info-image {
        flex: none;
        width: 100%;
        height: 220px;
    }

    .info-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .info-content {
        padding: 24px;
    }

    .info-content h3 {
        font-size: 26px;
    }

}

/* TRUST */

.trust {
    padding: 100px 0;
}

.trust h2 {
    font-size: 48px;
    color: #2F2B28;
    margin-bottom: 60px;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.trust-grid > div {
    background: rgba(255,255,255,.8);
    padding: 35px;
    border: 1px solid #E8EEFF;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(31, 42, 90, 0.05);
    transition: transform .3s ease, box-shadow .3s ease;
    will-change: transform;
}
.trust-grid > div:hover{
     transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(31, 42, 90, 0.10);
}
.trust-grid h3 {
    font-size: 22px;
    color: #2F2B28;
    margin-bottom: 20px;
}

.trust-grid h3 i {
    margin-right: 10px;
}

.trust-grid p {
    color: #2F2B28;
    margin-bottom: 10px;
    line-height: 1.7;
}

/* COMMON */

.section-subtitle {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

@media (max-width: 992px) {

    .returns-grid,
    .trust-grid {
        grid-template-columns: 1fr;
    }

    .returns-content h2,
    .trust h2 {
        font-size: 36px;
    }

    .returns-icon {
        margin-top: 30px;
    }
}
/*reviews*/


.reviews-slider .glsr-review.active {
    display: flex !important;
}
.reviews-section {
    padding: 100px 0;
background:#b6cdae;
}


.reviews-wrapper {
    width: 100%;
}

.reviews-stats{
    background:#fff;
    border-radius:4px;
    padding:40px;
    text-align:center;
    height:100%;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.reviews-stars{
    font-size:36px;
    color:#FFB800;
    line-height:1;
}

.reviews-rating{
    font-size:64px;
    font-weight:700;
    line-height:1;
    margin-top:15px;
}

.reviews-rating-text{
    font-size:16px;
    margin-top:10px;
}

.reviews-divider{
    width:100%;
    height:1px;
    background:#eee;
    margin:25px 0;
}



.reviews-section h2{
    color:#2F3A4A;
}

.reviews-number-text{
    margin-top:8px;
    font-size:15px;
}

.reviews-content .glsr {
    margin-top: 20px;
}

.reviews-content .glsr-review {
    display: none;
    background: #fff;
    padding: 36px;
    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    box-shadow:0 15px 40px rgba(0,0,0,.35);
}

.reviews-slider .glsr-review.active {
    display: flex !important;
    flex-direction: column;
        color:#000;
}
.glsr-review-rating {
    width: fit-content !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
}
@media (max-width: 991px) {

    .reviews-wrapper {
        grid-template-columns: 1fr;
        padding: 25px;
    }

    .reviews-image {
        order: -1;
    }
}
.reviews-slider .glsr-review{
    display:none;
}



.reviews-nav{
    display:flex;
    justify-content: left;
    align-items:center;
    gap:10px;
    margin-top:20px;
}

.reviews-prev,
.reviews-next{
    width:40px;
    height:40px;
    border:none;
    border-radius:4px;
    cursor:pointer;
    background:#ff6b6b;
    color:#fff;
    font-size:20px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.reviews-prev:hover,
.reviews-next:hover,
.reviews-prev:focus,
.reviews-next:focus{
    background:#FF5252;
    color:#fff;
}

/*footer*/
.site-footer {
    background: #0F172A;
    color: #fff;
}

.site-footer h5 {
    margin-bottom: 1rem;
    font-weight: 600;
}

.site-footer p {
    color: #d1d5db;
    line-height: 1.6;
}

.footer-menu {
    margin: 0;
    padding: 0;
}

.footer-menu li {
    margin-bottom: 8px;
}

.footer-menu a {
    color: #d1d5db;
    text-decoration: none;
}

.footer-menu a:hover {
    color: #fff;
}

.copyright {
    color: #9ca3af;
}

@media (max-width: 768px) {
    .site-footer {
        text-align: center;
    }
}
/*contact page*/

.info-card {
    background: #ffffff;
    border: 1px solid #E8EEFF;
    border-radius: 12px;
    padding: 32px;
    min-height: 420px;
    margin-bottom: 30px;
}

.info-card h2,
.info-card h3 {
    color: #1F1F1F;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 24px;
}

.info-card p {
    color: #1F1F1F;
    line-height: 1.8;
    margin-bottom: 16px;
}
/*form*/
.contact-form-card {
    background: #ffffff;
    border: 1px solid #ece7de;
    border-radius: 16px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.contact-form-card h2 {
    color: #1F1F1F;
    margin-bottom: 20px;
    font-weight: 700;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    border: 1px solid #d9d3ca;
    border-radius: 8px;
    padding: 12px 16px;
    background: #fff;
    transition: .2s;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #0c1c35;
    box-shadow: 0 0 0 3px rgba(12,28,53,.08);
}
.wpcf7 textarea {
    height: 80px;
    min-height: 80px;
    resize: vertical;
}
.wpcf7-acceptance {
    display: block;
    margin: 20px 0;
    font-size: 14px;
    line-height: 1.5;
}
.wpcf7-submit{
  background-color: #ff6b6b  !important;
  color: #fff;
}
.wpcf7-submit:hover{
  background: #FF5252 !important;
  color: #fff;
}
ul.products li.product{
    width: 80% !important;
}
.glsr-button {
  background-color: #ff6b6b  !important;
  color: #fff;
}
.glsr-button:hover {
  background: #FF5252 !important;
  color: #fff;
}
/*contacts page*/
.about-intro {
    margin-bottom: 50px;
}

.about-intro h1 {
    margin-bottom: 20px;
}

.about-intro p {
    font-size: 18px;
    line-height: 1.8;
    max-width: 900px;
}

.stock.in-stock {
    color: #2e7d32;
    font-weight: 600;
}
.stock.out-of-stock {
    color: #c62828;
    font-weight: 600;
        text-decoration: none;

}

#cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    max-width: 380px;
    padding: 16px 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,.15);
    z-index: 99999;
}

#cookie-banner p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.5;
}

#accept-cookies {
    border: 0;
    padding: 10px 18px;
    border-radius: 8px;
    cursor: pointer;
}

.single-product .woocommerce-product-gallery img {
    width: 100%;
    height: auto;
}




.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    display: block;
}
.single-product .woocommerce-product-gallery {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
}


/*thumbnails*/


.single-product .flex-control-thumbs {
    width: 80px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.single-product .flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product .flex-viewport {
    flex: 1;
    min-width: 0;
    height: auto !important;
    overflow: hidden;
}
.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

@media (max-width: 768px) {

 
.single-product .woocommerce-product-gallery {
    margin-left: 0 !important;
    width: calc(100% - 0px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
    display: block;

}
    .single-product .flex-viewport {
        width: 100% !important;
        flex: none;
    }

    .single-product .flex-control-thumbs {
        display: flex;
        flex-direction: row;
        width: 100%;
        gap: 10px;
        margin-top: 15px;
    }

    .single-product .flex-control-thumbs li {
        width: 70px !important;
        float: none !important;
    }

    .single-product .flex-control-nav.flex-control-thumbs {
        order: 0;
    }

}
/**/
.product-delivery-info {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.product-delivery-info div {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.product-delivery-info i {
    font-size: 18px;
}
.woocommerce-checkout .wc-block-components-country-input {
    margin-top: 16px !important;
}

.product-stock-status {
    margin: 10px 0;
    font-weight: 600;
    color: #198754;
}
.woocommerce-js #respond input#submit, .woocommerce-js a.button,
 .woocommerce-js button.button, .woocommerce-js input.button,
 .wc-block-components-button:not(.is-link) {
    margin-top: 10px;
    background-color: #ff6b6b;
    color:#fff;
 }
.woocommerce-js #respond input#submit, .woocommerce-js a.button:hover,
 .woocommerce-js button.button, .woocommerce-js input.button:hover,
 .wc-block-components-button:not(.is-link):hover {
    margin-top: 10px;
    background-color: #FF5252;
 }
.woocommerce-product-gallery .flex-control-thumbs li:nth-child(n+4) {
    display: none;
}
.woocommerce-product-attributes tr:nth-child(n+8) {
    display: none;
}
.woocommerce-tabs.wc-tabs-wrapper {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
}
@media (max-width: 991px) {
    .woocommerce-tabs.wc-tabs-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.woocommerce nav.woocommerce-pagination .page-numbers.current {
    background: #FF6B6B !important;
    color: #fff !important;
    border: 1px solid #FF6B6B;
}

.woocommerce nav.woocommerce-pagination ul li a {
    background: #fff;
    color: #FF6B6B;
    border: 1px solid #FFD0D0;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #FF5252;
    color: #fff;
    border-color: #FF5252;
}
.woocommerce-product-attributes tr th,
.woocommerce-product-attributes tr td {
    border-right: 1px solid #d9dee5;
}
.woocommerce-tabs ul.tabs li.active:before,
.woocommerce-tabs ul.tabs li.active:after {
    display: none !important;
}
.woocommerce-tabs ul.tabs li.active {
    border-top: 3px solid #1F1F1F !important;
}
#cartBox {
    max-height: 500px;
    overflow-y: auto;
}
.woocommerce-js table.shop_table .woocommerce-Price-amount, .woocommerce-page table.shop_table .woocommerce-Price-amount{
white-space: nowrap;
}
.product-delivery-info a{
    text-decoration: none;
    color:inherit;
    font-weight: 600;
}
.product-delivery-info a:hover {
    color: #4F4F4F;
    border-color: #4F4F4F;
}
.single_add_to_cart_button{
    margin-top: 0 !important;
}
.woocommerce div.product div.summary {
    margin-left: 0 !important;
}

.single-product .woocommerce-product-gallery {
    margin-left: 80px;
}
.wc-block-cart p a {
    color: #1F2A5A;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

.wc-block-cart p a:hover {
    color: #2F2F2F;
}
.feature-card{
    padding: 20px;
     background: #fff;
    border: 1px solid #ECE5DD;
    border-radius: 8px;
    overflow: hidden;
    min-height: 340px;
    transition: .3s;
}
.feature-card:hover {
       transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(0,0,0,.08);
}

/*page-promotions*/


.promo-hero{
    min-height: 650px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;

    display: flex;
    align-items: center;      
}
.promo-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(
            90deg,
            rgba(15,23,42,.82) 0%,
            rgba(15,23,42,.72) 30%,
            rgba(15,23,42,.55) 55%,
            rgba(15,23,42,.35) 80%,
            rgba(15,23,42,.20) 100%
        );
}

.promo-pattern{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:3;
}


.promo-pattern span{
    position:absolute;
    font-size:120px;
    font-weight:900;
    color:#fff;
    opacity:.15;      /* было .08 */
    text-shadow:0 0 12px rgba(255,255,255,.2);
}
.promo-pattern span:nth-child(1){
    top:8%;
    left:8%;
    transform:rotate(-15deg);
}

.promo-pattern span:nth-child(2){
    top:18%;
    right:12%;
    font-size:170px;
    transform:rotate(12deg);
}

.promo-pattern span:nth-child(3){
    bottom:15%;
    left:15%;
    font-size:140px;
    transform:rotate(18deg);
}

.promo-pattern span:nth-child(4){
    bottom:8%;
    right:10%;
    font-size:110px;
    transform:rotate(-25deg);
}

.promo-pattern span:nth-child(5){
    top:45%;
    left:42%;
    font-size:90px;
    opacity:.05;
}

.promo-pattern span:nth-child(6){
    top:55%;
    right:35%;
    font-size:130px;
    opacity:.06;
}

.promo-hero .container{
    width: 100%;
    position:relative;
    z-index:4;
}
.promo-hero-content{
    display: flex;
    flex-direction: column;
    align-items: center;      
    justify-content: center;
    text-align: center;
    color: #fff;
    max-width: 700px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.promo-hero h1{
    font-size: clamp(3rem, 5vw, 4.5rem); /* 48–72px */
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 24px;
    text-shadow: 0 3px 12px rgba(0,0,0,.45);
}
.promo-title span{
    color:#FF6B6B;
}

/* Promo */
.promo-offers{
    padding:100px 0;
    background:#fff;
}

.promo-title{
    text-align:center;
    max-width:760px;
    margin:0 auto 70px;
}

.promo-title span{
    display:inline-block;
    color:#FF6B6B;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:12px;
}

.promo-title h2{
    font-size:48px;
    font-weight:800;
    color:#222;
    margin-bottom:18px;
}

.promo-title p{
    color:#666;
    font-size:18px;
    line-height:1.8;
}

.promo-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.promo-card{
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    border:1px solid #ececec;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s;
}

.promo-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 45px rgba(0,0,0,.15);
}

.promo-card-top{
    position:relative;
    height:140px;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.promo-card-top::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(circle at top right,
        rgba(255,255,255,.18),
        transparent 45%),

        repeating-linear-gradient(
            -45deg,
            rgba(255,255,255,.05) 0,
            rgba(255,255,255,.05) 2px,
            transparent 2px,
            transparent 18px
        );
}

.promo-card-top i{
    position:relative;
    z-index:2;
    font-size:50px;
    color:#fff;
}

.promo-bg-text{
    position:absolute;
    right:18px;
    bottom:-8px;
    z-index:1;

    font-size:46px;
    font-weight:900;

    color:rgba(255,255,255,.12);

    white-space:nowrap;
    user-select:none;
    line-height:1;
}

.promo-card-body{
    padding:30px;
}

.promo-card h3{
    font-size:30px;
    font-weight:700;
    margin-bottom:20px;
    color:#222;
}

.promo-card p{
    font-size:17px;
    line-height:1.7;
    color:#666;
    margin-bottom:28px;
}

.promo-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 24px;

    border-radius:40px;

    color:#fff;
    font-size:15px;
    font-weight:700;

    transition:.3s;
}
.promo-coral .promo-card-top{
    background:linear-gradient(135deg,#FF8B8B,#FF6B6B);
}

.promo-coral .promo-badge{
    background:#FF6B6B;
}

.promo-coral:hover .promo-badge{
    background:#FF5252;
}
.promo-blue .promo-card-top{
    background:linear-gradient(135deg,#6EA8FF,#5B8EF7);
}

.promo-blue .promo-badge{
    background:#5B8EF7;
}

.promo-blue:hover .promo-badge{
    background:#3B82F6;
}
.promo-green .promo-card-top{
    background:linear-gradient(135deg,#79D7A2,#63C38D);
}

.promo-green .promo-badge{
    background:#63C38D;
}

.promo-green:hover .promo-badge{
    background:#48B475;
}
.promo-yellow .promo-card-top{
    background:linear-gradient(135deg,#FFD86B,#FFC107);
}

.promo-yellow .promo-badge{
    background:#FFC107;
    
}

.promo-yellow:hover .promo-badge{
    background:#FFB300;
}
@media (max-width:1200px){

    .promo-cards{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:768px){

    .promo-cards{
        grid-template-columns:1fr;
    }

    .promo-title h2{
        font-size:36px;
    }

    .promo-card h3{
        font-size:28px;
    }

}
.promo-steps{

    padding:100px 0;

    background:#fff;

}

.steps-promopage{

    display:grid;

    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;

    gap:20px;

    align-items:center;

}

.step-promopage{

    position:relative;

    text-align:center;

    padding:40px 25px;

    background:#fff;

    border-radius:20px;

    border:1px solid #ececec;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.3s;

}

.step-promopage:hover{

    transform:translateY(-8px);

}

.step-number{

    position:absolute;

    top:18px;

    left:18px;

    width:34px;

    height:34px;

    border-radius:50%;

    background:#ff6b6b ;

    color:#222;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

}

.step-icon{

    width:90px;

    height:90px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#FFE9E9;

    color:#ff6b6b ;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:40px;

}

.step-promopage p{

    color:#666;

    line-height:1.8;

}

.step-arrow{

    font-size:36px;

    color:#ff6b6b ;

}

@media(max-width:992px){

.steps-promo{

grid-template-columns:1fr;

}

.step-arrow{

display:none;

}

}
/* Promo Rules */
.promo-rules{
    padding:100px 0;
    background:#fff;
}

.promo-rules-box{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:60px;
    align-items:center;
}

/* Баннер */

.promo-rules-banner{
    position:relative;
    min-height:420px;
    overflow:hidden;
    border-radius:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(circle at top right,
        rgba(255,107,107,.18),
        transparent 35%),

        radial-gradient(circle at bottom left,
        rgba(91,142,247,.18),
        transparent 35%),

        radial-gradient(circle at center,
        rgba(255,193,7,.14),
        transparent 45%),

        linear-gradient(135deg,#FFF8F8 0%,#FFFDF7 100%);

    border:1px solid #F2F2F2;

    box-shadow:0 20px 40px rgba(0,0,0,.08);

    transition:.35s;
}

.promo-rules-banner:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 50px rgba(0,0,0,.12);
}

.promo-rules-inner{
    position:relative;
    z-index:2;
    max-width:360px;
    padding:45px;
    text-align:center;
}

/* Иконка */

.promo-rules-icon{
    width:90px;
    height:90px;

    margin:0 auto 28px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#FFE9E9;
}

.promo-rules-icon i{
    font-size:42px;
    color:#FF6B6B;
}

/* Подзаголовок */

.promo-rules-subtitle{
    display:block;

    color:#FF6B6B;

    font-size:14px;
    font-weight:700;

    letter-spacing:2px;
    text-transform:uppercase;

    margin-bottom:18px;
}

/* Заголовок */

.promo-rules-inner h3{
    font-size:42px;
    font-weight:800;

    color:#222;

    line-height:1.2;

    margin-bottom:18px;
}

/* Текст */

.promo-rules-inner p{
    color:#666;
    line-height:1.8;
    margin:0;
}

/* Большая декоративная надпись */

.promo-rules-bg{
    position:absolute;

    right:20px;
    bottom:0;

    font-size:96px;
    font-weight:900;

    color:rgba(255,107,107,.08);

    line-height:1;
    user-select:none;
    white-space:nowrap;
}

/* Правая колонка */

.promo-rules-content{
    padding:10px;
}

.promo-label{
    display:inline-block;

    padding:8px 16px;

    border-radius:30px;

    background:#FFE9E9;
    color:#FF6B6B;

    font-size:14px;
    font-weight:700;
}

.promo-rules-content h2{
    font-size:44px;
    font-weight:800;

    margin:20px 0 35px;

    color:#222;
}

/* Список */

.promo-rules-list{
    list-style:none;
    padding:0;
    margin:0;
}

.promo-rules-list li{
    position:relative;

    padding-left:38px;

    margin-bottom:22px;

    line-height:1.8;

    color:#555;
}

/* Маркеры */

.promo-rules-list li::before{
    content:"✓";

    position:absolute;

    left:0;
    top:2px;

    width:24px;
    height:24px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#FF6B6B;

    color:#fff;

    font-size:13px;
    font-weight:700;
}

@media (max-width:992px){

    .promo-rules-box{
        grid-template-columns:1fr;
        gap:40px;
    }

    .promo-rules-banner{
        min-height:360px;
    }

    .promo-rules-content{
        padding:0;
    }

    .promo-rules-content h2{
        font-size:34px;
    }

    .promo-rules-inner h3{
        font-size:34px;
    }

}

@media (max-width:576px){

    .promo-rules{
        padding:70px 0;
    }

    .promo-rules-banner{
        min-height:320px;
    }

    .promo-rules-inner{
        padding:30px;
    }

    .promo-rules-icon{
        width:72px;
        height:72px;
    }

    .promo-rules-icon i{
        font-size:34px;
    }

    .promo-rules-bg{
        font-size:64px;
    }

}