/******************************************************
* WP — допълнения към статичния дизайн
* Настройките на секциите от админа (Carbon Fields),
* WordPress и WooCommerce елементи.
******************************************************/

/* ---------- Фон и отстъпи на секциите ---------- */
.cpc-bg-white{
    background-color: #fff;
}
.cpc-bg-grey{
    background-color: var(--grey-page);
}
.cpc-bg-beige{
    background-color: var(--grey-bg);
}
.cpc-section.cpc-pt-0{
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.cpc-section.cpc-pb-0{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
/* „Отстъп отгоре / отдолу“: Малък / Нормален / Голям (като при редовете) */
.cpc-section.cpc-pt-s,
.cpc-section.cpc-pt-m,
.cpc-section.cpc-pt-l{
    margin-top: 0 !important;
}
.cpc-section.cpc-pb-s,
.cpc-section.cpc-pb-m,
.cpc-section.cpc-pb-l{
    margin-bottom: 0 !important;
}
.cpc-section.cpc-pt-s{ padding-top: 1.6em !important; }
.cpc-section.cpc-pt-m{ padding-top: 3.3em !important; }
.cpc-section.cpc-pt-l{ padding-top: 5em !important; }
.cpc-section.cpc-pb-s{ padding-bottom: 1.6em !important; }
.cpc-section.cpc-pb-m{ padding-bottom: 3.3em !important; }
.cpc-section.cpc-pb-l{ padding-bottom: 5em !important; }
/* секции с цветен фон - отстъп и отдолу */
.section.cpc-bg-grey,
.section.cpc-bg-beige{
    padding-bottom: 2.2em;
}

/* ---------- Hero: снимки от админа ---------- */
.hero[style*="--hero-bg:"]{
    background-image: var(--hero-bg);
}
@media (max-width: 767px){
    .hero[style*="--hero-bg-m"]{
        background-image: var(--hero-bg-m);
    }
}

/* ---------- Заглавие на секция: дълъг текст - на нов ред (не излиза от екрана) ---------- */
.section-title > span{
    flex: 0 1 auto;
    min-width: 0;
    line-height: 1.1;
    overflow-wrap: break-word;
}
/* линията - поне къса, когато текстът заеме реда */
.section-title::after,
.section-title--center::before{
    min-width: 1.5em;
}

/* ---------- Заглавие на секция в иконите ---------- */
.features .section-title,
.offer .section-title{
    margin-bottom: 1.5em;
}

/* ---------- Икони с текст: разделителни линии ---------- */
@media (min-width: 992px){
    .features .feature-col + .feature-col .feature{
        padding-left: 1.6em;
        border-left: 2px solid #C9C9C9;
    }
}
@media (min-width: 992px) and (max-width: 1199px){
    .features .feature-col + .feature-col .feature{
        padding-left: 1em;
    }
}
.feature__icon img,
.offer-item__icon img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ---------- Текст (За нас): подравняване ---------- */
.cpc-text-left .about__body{
    text-align: left;
}
.cpc-text-left .wrapper-btn{
    text-align: left;
}

/* ---------- Снимка и текст: подредба ---------- */
@media (min-width: 992px){
    .split--img-left .split__media-col{
        order: -1;
    }
}
@media (max-width: 991px){
    .split.split--img-first .split__media-col{
        order: -1;
        margin-top: 0;
        margin-bottom: 2em;
    }
    .split.split--text-first .split__media-col{
        order: 0;
        margin-top: 2em;
        margin-bottom: 0;
    }
}

/* ---------- Галерия (sections/cpc/gallery.php) ---------- */
.photo-gallery .section-title{
    margin-bottom: 1.2em;
}
.photo-gallery__text{
    margin-bottom: 2em;
    font-size: 1.2em;
    line-height: 1.35;
}
.photo-gallery__text.cpc-text-center{
    max-width: 50em;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.photo-gallery__text > *:last-child{
    margin-bottom: 0;
}
/* --cols (4 / 5 / 6) от админа; на по-малки екрани - до толкова */
.photo-gallery__grid{
    display: grid;
    grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
    gap: 0.9em;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (max-width: 1199px){
    .photo-gallery__grid{ grid-template-columns: repeat(min(var(--cols, 4), 4), minmax(0, 1fr)); }
}
@media (max-width: 991px){
    .photo-gallery__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575px){
    .photo-gallery__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6em;
    }
}
.photo-gallery__link{
    display: block;
    overflow: hidden;
    background: #ECECEC;
    border-radius: 0.3em;
    cursor: zoom-in;
}
.photo-gallery__link img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--ratio);
    object-fit: cover;
    transition: transform .3s, opacity .3s;
}
.photo-gallery__img{
    display: block;
    overflow: hidden;               /* увеличението при hover не минава върху заглавието */
}
/* със заглавие - като плочките (.tile__title): тъмна лента, при hover - червена */
.photo-gallery__link--titled{
    background: var(--blue);
}
.photo-gallery__link--titled:hover .tile__title,
.photo-gallery__link--titled:focus-visible .tile__title{
    background: var(--red);
}
.photo-gallery__link .tile__title{
    display: block;
}
/* [gallery] в текста на статия / страница (inc/cpc_blog.php) - без списъка и снимките на .rich-text */
.photo-gallery--content{
    margin: 1.6em 0;
}
.rich-text .photo-gallery__grid{
    margin: 0;
    padding: 0;
    list-style: none;
}
.rich-text .photo-gallery__item{
    margin: 0;
}
.rich-text .photo-gallery__link{
    text-decoration: none;
}
.rich-text .photo-gallery__link img{
    border-radius: 0;
}
.rich-text .lightbox p{
    margin: 0;
}
/* „Оригинално“ - без изрязване, всяка снимка с нейните пропорции */
.photo-gallery__grid--natural .photo-gallery__link img{
    aspect-ratio: auto;
}
.photo-gallery__link:hover img,
.photo-gallery__link:focus-visible img{
    transform: scale(1.05);
    opacity: .9;
}
/* на цял екран - заглавието под снимката, над „4 / 4“ */
.lightbox--captioned{
    padding-bottom: 6em;
}
.lightbox__caption{
    position: absolute;
    bottom: 0.9em;
    left: 4.5em;
    right: 4.5em;
    margin: 0;
    font-size: 1.15em;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #fff;
}
.lightbox__caption--above-count{
    bottom: 2.2em;
}
.lightbox__caption:empty{
    display: none;
}
@media (max-width: 767px){
    .lightbox__caption{
        left: 3em;
        right: 3em;
        font-size: 1em;
    }
}
/* на цял екран - без zoom (той е само в продуктовата галерия) */
.lightbox__img--static{
    cursor: default;
    touch-action: auto;
}

/* ---------- Текст и карусел (sections/cpc/text_carousel.php) ---------- */
.text-carousel__col .carousel-wrap{
    flex: 1 1 auto;
    min-width: 0;
    align-self: center;
}
/* „По колко на ред“ (--pv от админа); на по-малки екрани - до толкова */
.text-carousel__carousel .carousel{
    --per-view: var(--pv, 4);
    margin-top: 0;
}
.text-carousel__carousel--tiles .carousel{
    --gap: 0.9em;
}
@media (max-width: 1399px){
    .text-carousel__carousel .carousel{
        --per-view: min(var(--pv, 4), 4);
    }
}
@media (max-width: 1199px){
    .text-carousel__carousel .carousel{
        --per-view: min(var(--pv, 4), 3);
    }
}
@media (max-width: 767px){
    .text-carousel__carousel .carousel{
        --per-view: min(var(--pv, 4), 2);
    }
}
@media (max-width: 575px){
    /* картите на продуктите - по една; плочките - по две */
    .text-carousel__carousel .carousel{
        --per-view: 1;
    }
    .text-carousel__carousel--tiles .carousel{
        --per-view: min(var(--pv, 4), 2);
    }
}
/* стрелките - по-тесни (колоната е по-тясна от цялата страница) */
.text-carousel__carousel .carousel__arrow{
    flex-basis: 2.4em;
}
.text-carousel__carousel .carousel__arrow .svg-wrapper,
.text-carousel__carousel .carousel__arrow--next .svg-wrapper{
    margin: 0;
}
.text-carousel__carousel .carousel__arrow--next{
    justify-content: flex-end;
}
.text-carousel__carousel .carousel-progress{
    margin-top: 1.4em;
}

/* плочка: снимка (съотношение от админа) + заглавие на тъмна лента */
.tile{
    flex: 0 0 calc((100% - (var(--per-view) - 1) * var(--gap)) / var(--per-view));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: #fff;
    background: var(--blue);
    border-radius: 0.3em;
    scroll-snap-align: start;
}
.tile__img{
    display: block;
    aspect-ratio: var(--ratio, 3/4);
    overflow: hidden;
    background: #ECECEC;
}
.tile__img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
a.tile:hover .tile__img img{
    transform: scale(1.04);
}
.tile__title{
    padding: 0.65em 0.5em;
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #fff;
}
a.tile:hover .tile__title{
    background: var(--red);
}

/* списък с отметки под текста */
.text-carousel__list{
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    margin: 1.4em 0 0;
    padding: 0;
    list-style: none;
}
.text-carousel__list li{
    display: flex;
    align-items: center;
    gap: 0.7em;
    font-size: 1.05em;
    line-height: 1.2;
}
.text-carousel__list .svg-check-badge{
    flex: 0 0 auto;
    width: 1.3em;
    height: 1.3em;
    color: var(--red);
}

/* ---------- Снимка и текст: икони с текст под текста ---------- */
.split-icons{
    display: grid;
    grid-template-columns: repeat(var(--icons-cols, 2), minmax(0, 1fr));
    gap: 1.3em 1.6em;
    align-self: stretch;
    margin: 1.8em 0 0;
    padding: 0;
    list-style: none;
}
.split-icons--cols-1{ --icons-cols: 1; }
.split-icons--cols-2{ --icons-cols: 2; }
.split-icons--cols-3{ --icons-cols: 3; }
.split-icons--cols-4{ --icons-cols: 4; }
.split-icons--cols-5{ --icons-cols: 5; }
/* текстовата колона е тясна - на по-малки екрани по-малко на ред */
@media (max-width: 1399px){
    .split-icons--cols-5{ --icons-cols: 4; }
}
@media (max-width: 1199px){
    .split-icons--cols-4,
    .split-icons--cols-5{ --icons-cols: 3; }
}
@media (max-width: 575px){
    .split-icons--cols-3,
    .split-icons--cols-4,
    .split-icons--cols-5{ --icons-cols: 2; }
}
.split-icon{
    display: flex;
    align-items: flex-start;
    gap: 0.8em;
}
.split-icon__icon{
    flex: 0 0 auto;
    width: 2.4em;
    height: 2.4em;
    color: var(--red);
}
.split-icon__icon img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.split-icon__body{
    min-width: 0;
}
.split-icon__title{
    margin: 0;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.15;
    color: var(--blue);
}
.split-icon__text{
    margin: 0.25em 0 0;
    font-size: 0.95em;
    line-height: 1.25;
}
/* „Иконите - цвят“: сини */
.split-icons--blue .split-icon__icon{
    color: var(--blue);
}
/* „Иконите - разположение“: отгоре на заглавието и текста (центрирани) */
.split-icons--top .split-icon{
    flex-direction: column;
    align-items: center;
    gap: 0.6em;
    text-align: center;
}
.split-icons--top .split-icon__icon{
    width: 2.8em;
    height: 2.8em;
}

/* ---------- Снимка и текст: място на текста ---------- */
/* вертикално: в средата / долу - текстът и бутонът са заедно (бутонът не отива най-долу) */
.split__text--middle{
    justify-content: center;
}
.split__text--bottom{
    justify-content: flex-end;
}
.split__text--middle .wrapper-btn,
.split__text--bottom .wrapper-btn,
.split__text--middle .certs,
.split__text--bottom .certs{
    margin-top: 0;
}
/* хоризонтално: в центъра */
.split__text--center{
    align-items: center;
    text-align: center;
}
.split__text--center .certs{
    justify-content: center;
}

/* ---------- Снимка и текст: размер и място на снимката ---------- */
/* „Размер на снимката“: % от клетката */
.split__media.split__media--sized{
    flex: 0 0 auto;
    width: var(--media-w, 100%);
}
/* Auto - истинският размер (но не по-широка от клетката) */
.split__media.split__media--auto{
    flex: 0 0 auto;
    width: fit-content;             /* обвивката - колкото снимката (и под 992px, където колоната не е flex) */
    max-width: 100%;
}
.split__media--auto img{
    width: auto;
    max-width: 100%;
}
/* „Снимката в клетката“ */
.split__media--center{
    margin-left: auto;
    margin-right: auto;
}
.split__media--right{
    margin-left: auto;
}

/* ---------- Сертификати от галерия ---------- */
.certs__item img{
    max-width: 8em;
    object-fit: contain;
}

/* ---------- Партньори: лого или име без линк ---------- */
.partner > span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.8em;
    height: 7.8em;
    font-weight: 700;
    background: var(--grey-circle);
    border-radius: 50%;
}
.partner img{
    display: block;
    max-width: 70%;
    max-height: 60%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ---------- Услуги: снимка вдясно ---------- */
@media (min-width: 992px){
    .services__row--img-right .services__media-col{
        order: 2;
    }
    .services__row--img-right .services__media{
        justify-content: flex-start;
    }
}

/* ---------- Карти с продукти: placeholder ---------- */
.bs-card__img img.woocommerce-placeholder{
    object-fit: contain;
}
.round-btn.added{
    color: #fff;
    background: var(--blue);
}
.bs-card .added_to_cart{
    display: none;
}

/* ---------- Карти: добавяне в количката ---------- */
/* лоудър (.loading - от WooCommerce / js/cpc-quick-cart.js) */
.round-btn{
    position: relative;
}
.round-btn .svg-tick{
    display: none;
}
.round-btn.loading{
    pointer-events: none;
    background: var(--red);
}
.round-btn.loading .svg-wrapper{
    visibility: hidden;
}
.round-btn.loading::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.1em;
    height: 1.1em;
    margin: -0.55em 0 0 -0.55em;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cpc-spin .7s linear infinite;
}
/* добавено → отметка за 2 сек. */
.round-btn.added{
    background: #1E8E3E;
}
.round-btn.added .svg-basket{
    display: none;
}
.round-btn.added .svg-tick{
    display: block;
}
@keyframes cpc-spin{
    to{ transform: rotate(360deg); }
}

/* избор на вариация върху картата */
.bs-card{
    position: relative;
}
.quick-var{
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    padding: 1.1em 1em 1em;
    overflow-y: auto;
    background: #fff;
    border-radius: 0.25em;
    box-shadow: 0 0.2em 1.2em rgba(12, 18, 72, .18);
    animation: quick-var-in .2s ease;
}
@keyframes quick-var-in{
    from{ opacity: 0; transform: translateY(0.5em); }
}
.quick-var__close{
    position: absolute;
    top: 0.3em;
    right: 0.4em;
    width: 1.5em;
    height: 1.5em;
    padding: 0;
    font-size: 1.6em;
    line-height: 1;
    color: var(--blue);
    background: none;
    border: 0;
}
.quick-var__close:hover{
    color: var(--red);
}
.quick-var__title{
    margin: 0 1.6em 0.8em 0;
    font-size: 1.15em;
    font-weight: 700;
    line-height: 1.15;
    color: var(--blue);
}
.quick-var__form{
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.7em;
}
.quick-var__label{
    display: block;
    margin-bottom: 0.25em;
    font-size: 0.9em;
    color: #6F7180;
}
.quick-var .sort__select{
    width: 100%;
    min-width: 0;
}
.quick-var__row{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.8em;
}
.quick-var__field--qty{
    flex: 0 0 7em;
}
.quick-var__qty{
    width: 100%;
    height: 2.7em;
    padding: 0 0.7em;
    color: var(--blue);
    border: 1px solid #E0E0E0;
    border-radius: 0.25em;
}
.quick-var__qty:focus{
    border-color: var(--blue);
    outline: none;
}
.quick-var__price{
    margin: 0 0 0.5em;
    font-size: 1.2em;
    font-weight: 700;
    color: var(--red);
    white-space: nowrap;
    text-align: right;
}
.quick-var__unit-price{
    display: block;
    font-size: 0.7em;
    font-weight: 400;
    color: #6b6f7b;
}
.quick-var__total{
    display: block;
}
.quick-var__msg{
    min-height: 1.2em;
    margin: 0;
    font-size: 0.9em;
}
.quick-var__msg.is-error{
    color: var(--red);
}
.quick-var__msg.is-success{
    color: #1E8E3E;
}
.quick-var__submit{
    margin-top: auto;
    font-size: 1.1em;
}
.quick-var__submit:disabled{
    opacity: .5;
    cursor: not-allowed;
}
.quick-var__submit.is-loading{
    position: relative;
    color: transparent;
}
.quick-var__submit.is-loading::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.1em;
    height: 1.1em;
    margin: -0.55em 0 0 -0.55em;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cpc-spin .7s linear infinite;
}

/* ---------- Мини количка (hover върху количката; без нея на количката / поръчката) ---------- */
.header__cart-wrap{
    position: relative;
}
.mini-cart{
    position: absolute;
    top: 100%;
    right: -0.6em;
    z-index: 50;
    width: 21em;
    max-width: calc(100vw - 2em);
    margin-top: 0.6em;
    padding: 1.1em 1.2em 1.2em;
    font-size: 1em;                 /* всичко вътре е в em спрямо това */
    color: var(--blue);
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 0.3em;
    box-shadow: 0 0.6em 2em rgba(12, 18, 72, .15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.4em);
    /* при излизане - малко забавяне, за да не изчезва, докато мишката отива към нея */
    transition: opacity .2s, transform .2s, visibility 0s linear .25s;
}
/* „мост“ между иконата и падащото - hover-ът не се прекъсва */
.mini-cart::before{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 0.9em;
}
.has-mini-cart:hover .mini-cart,
.has-mini-cart:focus-within .mini-cart{
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
}
/* телефони / таблети (без hover) - иконата води към количката */
@media (hover: none), (max-width: 991px){
    .mini-cart{
        display: none;
    }
}
.mini-cart__title{
    margin: 0 0 0.8em;
    padding-bottom: 0.6em;
    font-size: 1.15em;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 2px solid var(--red);
}
.mini-cart__list{
    max-height: 19em;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}
.mini-cart__item{
    position: relative;
    display: grid;
    grid-template-columns: 3.6em 1fr auto;
    align-items: center;
    gap: 0.8em;
    padding: 0.7em 1.6em 0.7em 0;
    border-bottom: 1px solid #ECECEC;
}
.mini-cart__img img{
    display: block;
    width: 3.6em;
    height: 3.6em;
    object-fit: contain;
    border: 1px solid #ECECEC;
    border-radius: 0.25em;
}
.mini-cart__info{
    min-width: 0;
    line-height: 1.25;
}
.mini-cart__name{
    display: block;
    font-weight: 700;
    color: var(--blue);
}
.mini-cart__name:hover{
    color: var(--red);
}
.mini-cart__info .variation,
.mini-cart__info p{
    margin: 0.15em 0 0;
    font-size: 0.92em;
    color: #6F7180;
}
.mini-cart__qty{
    display: block;
    margin-top: 0.15em;
    font-size: 0.92em;
    color: #6F7180;
}
.mini-cart__line{
    font-weight: 700;
    white-space: nowrap;
}
.mini-cart__remove{
    position: absolute;
    top: 50%;
    right: 0;
    width: 1.2em;
    height: 1.2em;
    margin-top: -0.6em;
    font-size: 1.3em;
    line-height: 1.1;
    text-align: center;
    color: #6F7180;
    border-radius: 50%;
}
.mini-cart__remove:hover{
    color: #fff;
    background: var(--red);
}
/* премахване - докато WooCommerce обработва */
.mini-cart .blockUI.blockOverlay,
.mini-cart__item.is-removing{
    opacity: .4;
}
.mini-cart__total{
    display: flex;
    justify-content: space-between;
    margin: 0.9em 0;
    font-size: 1.1em;
}
.mini-cart__total strong{
    color: var(--red);
}
.mini-cart__buttons{
    display: flex;
    gap: 0.6em;
}
.mini-cart__btn{
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.6em;
    font-weight: 700;
    color: var(--blue);
    text-transform: uppercase;
    border: 1px solid var(--blue);
    border-radius: 0.25em;
    transition: background-color .2s, color .2s;
}
.mini-cart__btn:hover{
    color: #fff;
    background: var(--blue);
}
/* същият размер като „Виж количката“ - само цветът е различен (без .btn-red - там шрифтът е по-голям) */
.mini-cart__btn--checkout{
    color: #fff;
    background: var(--red);
    border-color: var(--red);
}
.mini-cart__btn--checkout:hover{
    background: var(--red-dark, #8f0909);
    border-color: var(--red-dark, #8f0909);
}
.mini-cart__empty{
    margin: 0;
    padding: 0.6em 0;
    color: #6F7180;
}

/* ---------- Количка в хедъра: брой ---------- */
.header__cart{
    position: relative;
}
.header__cart-count{
    position: absolute;
    top: -0.2em;
    right: -0.4em;
    min-width: 1.4em;
    height: 1.4em;
    padding: 0 0.3em;
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1.4em;
    text-align: center;
    color: #fff;
    background: var(--blue);
    border-radius: 1em;
}
.header__cart-count:empty{
    display: none;
}

/* ---------- WordPress: admin bar ---------- */
.screen-reader-text{
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* ---------- Продукт: съобщения на WooCommerce ---------- */
.product-page .woocommerce-notices-wrapper:not(:empty){
    padding-top: 1.5em;
}
.product-page .woocommerce-message,
.product-page .woocommerce-error,
.product-page .woocommerce-info{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    margin: 0;
    padding: 1em 1.25em;
    list-style: none;
    background: var(--grey-page);
    border-left: 4px solid var(--blue);
}
.product-page .woocommerce-error{
    border-left-color: var(--red);
}
.product-page .woocommerce-message .button{
    order: 2;
    color: var(--red);
    font-weight: 700;
    text-decoration: underline;
}

/* ---------- Обикновени страници (page.php) ---------- */
.cpc-content{
    padding: 2.5em 0 4em;
}
.cpc-content .section-title{
    margin-bottom: 1em;
}
.cpc-content .entry-content{
    font-size: 1.2em;
    line-height: 1.4;
}
.cpc-content .entry-content ul{
    list-style: disc;
    padding-left: 1.5em;
}

/* ---------- Подменю: трето ниво (подкатегории) ---------- */
.main-nav .subnav li.has-sub > a{
    font-weight: 700;
}
.main-nav .subnav__sub{
    margin: 0 0 0.3em;
    padding: 0;
}
.main-nav .subnav__sub a{
    padding-left: 2.2em;
    font-size: 1em;
}
.main-nav .subnav a.is-active{
    color: var(--red);
}
@media (max-width: 1199px){
    .main-nav .subnav__sub a{
        padding-left: 1em;
    }
}

/* ---------- Магазин: подкатегории в страничната лента ---------- */
.cat-list--sub{
    margin: 0.15em 0 0.35em 0.75em;
    padding-left: 0.6em;
    border-left: 1px solid #E6E6E6;
}
.cat-list--sub .cat-list__link{
    font-size: 1em;
}
.cat-list__link.is-open{
    font-weight: 700;
}

/* ---------- Магазин: зареждане (AJAX) ---------- */
.shop{
    transition: opacity .2s;
}
.shop.is-loading{
    opacity: .5;
    pointer-events: none;
}
.shop .link-reset{
    display: inline-block;
}
.shop .link-reset[hidden]{
    display: none;
}
.shop noscript .btn-red{
    margin-top: 1em;
}

/* ---------- Магазин: детайлно описание (SEO) на категорията ---------- */
.shop-seo{
    margin-top: 3em;
    padding-top: 2.4em;
    border-top: 1px solid var(--grey-line);
}

/******************************************************
* КОЛИЧКА / ПОРЪЧКА / ПРОФИЛ (woocommerce/cpc-system-page.php)
* Шорткодовете на WooCommerce ползват класове, които съвпадат с
* bootstrap (.col-1, .col-2, .form-row ...) - тук те се връщат към
* оформлението на WooCommerce и към дизайна на сайта.
******************************************************/
.cpc-woo{
    padding-top: 1.6em;
}
.cpc-woo .section-title{
    margin-bottom: 1.2em;
}

/* стъпките: Количка → Данни и плащане → Потвърждение */
.checkout-steps{
    display: flex;
    margin: 0 0 2.2em;
    padding: 0;
    list-style: none;
}
.checkout-steps__item{
    position: relative;
    flex: 1 1 0;
    display: flex;
    justify-content: center;
}
/* линията между стъпките - от центъра на кръгчето до следващото */
.checkout-steps__item + .checkout-steps__item::before{
    content: "";
    position: absolute;
    top: 1.2em;
    right: 50%;
    width: 100%;
    height: 2px;
    background: var(--grey-line);
}
.checkout-steps__item.is-done + .checkout-steps__item::before,
.checkout-steps__item.is-done + .checkout-steps__item.is-active::before{
    background: var(--blue);
}
.checkout-steps__link{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5em;
    padding: 0 0.5em;
    text-align: center;
    color: #8A8C99;
}
a.checkout-steps__link:hover .checkout-steps__title{
    text-decoration: underline;
}
.checkout-steps__num{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4em;
    height: 2.4em;
    font-size: 1em;
    font-weight: 700;
    color: #8A8C99;
    background: #fff;
    border: 2px solid var(--grey-line);
    border-radius: 50%;
}
.checkout-steps__title{
    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
}
.checkout-steps__item.is-done .checkout-steps__link{
    color: var(--blue);
}
.checkout-steps__item.is-done .checkout-steps__num{
    color: #fff;
    background: var(--blue);
    border-color: var(--blue);
}
.checkout-steps__item.is-active .checkout-steps__link{
    color: var(--red);
}
.checkout-steps__item.is-active .checkout-steps__num{
    color: #fff;
    background: var(--red);
    border-color: var(--red);
}
@media (max-width: 575px){
    .checkout-steps__title{
        font-size: 0.85em;
    }
}
.cpc-woo .woocommerce{
    font-size: 1.1em;
    line-height: 1.35;
}
.cpc-woo .woocommerce h2,
.cpc-woo .woocommerce h3{
    margin: 0 0 0.8em;
    font-size: 1.35em;
    font-weight: 700;
    color: var(--blue);
    text-transform: uppercase;
}

/* bootstrap .col-1 / .col-2 (8% / 16% ширина) → колоните на WooCommerce */
.cpc-woo .col2-set{
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em 2.5em;
    width: 100%;
    margin: 0;
}
.cpc-woo .col2-set::before,
.cpc-woo .col2-set::after{
    display: none;
}
.cpc-woo .col2-set .col-1,
.cpc-woo .col2-set .col-2{
    flex: 1 1 18em;
    width: auto;
    max-width: none;
    float: none;
    padding: 0;
}

/* bootstrap .form-row (flex с отрицателни полета) → редове на формата */
.cpc-woo .woocommerce form .form-row{
    display: block;
    width: 100%;
    margin: 0 0 1em;
    padding: 0;
    float: none;
}
.cpc-woo .woocommerce-billing-fields__field-wrapper,
.cpc-woo .woocommerce-shipping-fields__field-wrapper,
.cpc-woo .woocommerce-address-fields__field-wrapper,
.cpc-woo .woocommerce-additional-fields__field-wrapper,
.cpc-woo .woocommerce-EditAccountForm,
.cpc-woo .checkout_coupon{
    display: flex;
    flex-wrap: wrap;
    gap: 0 1em;
}
.cpc-woo .woocommerce form .form-row-first,
.cpc-woo .woocommerce form .form-row-last{
    width: calc(50% - 0.5em);
}
.cpc-woo .woocommerce form .clear{
    display: none;
}
.cpc-woo .woocommerce-EditAccountForm > fieldset,
.cpc-woo .woocommerce-EditAccountForm > p:not(.form-row-first):not(.form-row-last),
.cpc-woo .woocommerce-EditAccountForm > div{
    width: 100%;
}

/* етикети и полета */
.cpc-woo .woocommerce form .form-row label{
    display: block;
    margin-bottom: 0.35em;
    font-weight: 700;
    line-height: 1.3;
}
/* отметка: квадратчето вляво, текстът и звездичката - на един ред след него */
.cpc-woo .woocommerce form .form-row label.checkbox,
.cpc-woo .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{
    position: relative;
    display: block;
    margin: 0;
    padding-left: 1.75em;
    font-weight: 400;
    line-height: 1.35;
    color: var(--blue);
    cursor: pointer;
}
.cpc-woo .woocommerce form .form-row label.checkbox .input-checkbox,
.cpc-woo .woocommerce form .form-row label.woocommerce-form__label-for-checkbox input[type="checkbox"]{
    position: absolute;
    top: 0.1em;
    left: 0;
    width: 1.15em;
    height: 1.15em;
    margin: 0;
    accent-color: var(--red);
    cursor: pointer;
}
.cpc-woo .woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row{
    margin: 1em 0 0;
}
.cpc-woo .woocommerce-terms-and-conditions-wrapper label a{
    color: var(--red);
    text-decoration: underline;
}
.cpc-woo .woocommerce-form__label-for-checkbox .required{
    margin-left: 0.15em;
}
.cpc-woo .woocommerce .required{
    color: var(--red);
    text-decoration: none;
    border: 0;
}
.cpc-woo .woocommerce .optional{
    font-weight: 400;
    color: #6F7180;
}
.cpc-woo .woocommerce form .form-row .input-text,
.cpc-woo .woocommerce form .form-row select,
.cpc-woo .woocommerce form .form-row textarea,
.cpc-woo .woocommerce .coupon .input-text,
.cpc-woo .select2-container--default .select2-selection--single{
    width: 100%;
    height: 2.7em;
    padding: 0 1em;
    font-family: inherit;
    font-size: 1em;
    line-height: normal;
    color: var(--blue);
    background: #fff;
    border: 1px solid #E0E0E0;
    border-radius: 0.25em;
    box-shadow: none;
    outline: none;
}
.cpc-woo .woocommerce form .form-row textarea.input-text,
.cpc-woo .woocommerce form .form-row textarea{
    height: 7em;
    padding: 0.7em 1em;
    resize: vertical;
}
.cpc-woo .woocommerce form .form-row .input-text:focus,
.cpc-woo .woocommerce form .form-row select:focus,
.cpc-woo .woocommerce form .form-row textarea:focus,
.cpc-woo .select2-container--focus .select2-selection--single,
.cpc-woo .select2-container--open .select2-selection--single{
    border-color: var(--blue);
}
.cpc-woo .woocommerce form .form-row.woocommerce-invalid .input-text,
.cpc-woo .woocommerce form .form-row.woocommerce-invalid .select2-selection{
    border-color: var(--red);
}
.cpc-woo .woocommerce form .form-row.woocommerce-validated .input-text{
    border-color: #E0E0E0;
}
.cpc-woo .select2-container--default .select2-selection--single .select2-selection__rendered{
    padding: 0;
    line-height: 2.6em;
    color: var(--blue);
}
.cpc-woo .select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 50%;
    right: 0.6em;
    height: 1.6em;
    transform: translateY(-50%);
}
.select2-dropdown{
    border-color: #E0E0E0;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{
    background: var(--blue);
}

/* бутони: основните - като .btn-red, второстепенните - с рамка */
.cpc-woo .woocommerce .button,
.cpc-woo .woocommerce button.button,
.cpc-woo .woocommerce a.button,
.cpc-woo .woocommerce input.button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7em;
    padding: 0 1.2em;
    font-family: inherit;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.1;
    color: var(--blue);
    text-transform: uppercase;
    background: #fff;
    border: 1px solid var(--blue);
    border-radius: 0.25em;
    transition: background-color .2s, color .2s;
}
.cpc-woo .woocommerce .button:hover,
.cpc-woo .woocommerce button.button:hover,
.cpc-woo .woocommerce a.button:hover{
    color: #fff;
    background: var(--blue);
}
.cpc-woo .woocommerce .button:disabled,
.cpc-woo .woocommerce .button:disabled[disabled],
.cpc-woo .woocommerce .button.disabled{
    padding: 0 1.2em;
    color: var(--blue);
    background: #fff;
    opacity: .45;
}
.cpc-woo .woocommerce .button.alt,
.cpc-woo .woocommerce button.button.alt,
.cpc-woo .woocommerce a.button.alt,
.cpc-woo .woocommerce #payment #place_order,
.cpc-woo .woocommerce .wc-proceed-to-checkout a.checkout-button{
    min-height: 2.3em;
    font-size: 1.15em;
    font-weight: 400;
    color: #fff;
    background: var(--red);
    border-color: var(--red);
}
.cpc-woo .woocommerce .button.alt:hover,
.cpc-woo .woocommerce button.button.alt:hover,
.cpc-woo .woocommerce a.button.alt:hover,
.cpc-woo .woocommerce #payment #place_order:hover,
.cpc-woo .woocommerce .wc-proceed-to-checkout a.checkout-button:hover{
    color: #fff;
    background: var(--red-dark);
    border-color: var(--red-dark);
}
.cpc-woo .woocommerce .wc-proceed-to-checkout{
    padding: 0;
}
.cpc-woo .woocommerce .wc-proceed-to-checkout a.checkout-button{
    display: flex;
    width: 100%;
    margin: 0;
}

/* таблици (количка, преглед на поръчката, поръчки в профила) */
.cpc-woo .woocommerce table.shop_table{
    width: 100%;
    margin: 0 0 1.5em;
    border: 1px solid var(--grey-border);
    border-collapse: separate;
    border-radius: 0.25em;
}
.cpc-woo .woocommerce table.shop_table th,
.cpc-woo .woocommerce table.shop_table td{
    padding: 0.85em 1em;
    font-weight: 400;
    vertical-align: middle;
    border-top: 1px solid var(--grey-border);
}
.cpc-woo .woocommerce table.shop_table thead th{
    font-weight: 700;
    text-transform: uppercase;
    background: var(--grey-page);
    border-top: 0;
}
.cpc-woo .woocommerce table.shop_table tfoot th,
.cpc-woo .woocommerce table.shop_table .cart_totals th,
.cpc-woo .woocommerce .cart_totals table.shop_table th{
    font-weight: 700;
}
.cpc-woo .woocommerce table.shop_table .order-total th,
.cpc-woo .woocommerce table.shop_table .order-total td{
    font-size: 1.15em;
    font-weight: 700;
    color: var(--red);
}
.cpc-woo .woocommerce table.shop_table .product-name a{
    font-weight: 700;
}
.cpc-woo .woocommerce table.shop_table .variation{
    margin: 0.3em 0 0;
    font-size: 0.9em;
    color: #6F7180;
}
.cpc-woo .woocommerce table.cart img{
    width: 4.5em;
    height: 4.5em;
    object-fit: contain;
}
.cpc-woo .woocommerce a.remove{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.4em;
    height: 1.4em;
    font-size: 1.3em;
    color: var(--red) !important;
    border-radius: 50%;
}
.cpc-woo .woocommerce a.remove:hover{
    color: #fff !important;
    background: var(--red);
}
.cpc-woo .woocommerce .quantity .qty{
    width: 4.5em;
    height: 2.7em;
    padding: 0 0.5em;
    font-size: 1em;
    color: var(--blue);
    text-align: center;
    border: 1px solid #E0E0E0;
    border-radius: 0.25em;
}
.cpc-woo .woocommerce table.cart td.actions{
    padding: 1em;
}
.cpc-woo .woocommerce table.cart td.actions .coupon{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}
.cpc-woo .woocommerce table.cart td.actions .coupon .input-text{
    width: 12em;
    margin: 0;
}
.cpc-woo .woocommerce .cart-collaterals .cart_totals{
    width: 100%;
    max-width: 28em;
    float: right;
}
/* „Може да се интересувате от...“ - картите от магазина (woocommerce/cart/cross-sells.php) */
.cpc-woo .woocommerce .cart-collaterals .cross-sells{
    width: calc(100% - 28em - 3em);
    max-width: 40em;
}
.cpc-woo .cross-sells__grid{
    margin-top: 0;
}

/* съобщения - като в продуктовата страница */
.cpc-woo .woocommerce-message,
.cpc-woo .woocommerce-error,
.cpc-woo .woocommerce-info{
    margin: 0 0 1.5em;
    padding: 1em 1.25em;
    list-style: none;
    color: var(--blue);
    background: var(--grey-page);
    border: 0;
    border-left: 4px solid var(--blue);
}
/* с бутон („Преглед на количката“) - бутонът вдясно */
.cpc-woo .woocommerce-message:has(.button),
.cpc-woo .woocommerce-info:has(.button){
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.6em 1em;
}
.cpc-woo .woocommerce-error{
    border-left-color: var(--red);
}
.cpc-woo .woocommerce-error li + li{
    margin-top: 0.4em;
}
.cpc-woo .woocommerce-message::before,
.cpc-woo .woocommerce-error::before,
.cpc-woo .woocommerce-info::before{
    display: none;
}
.cpc-woo .woocommerce .woocommerce-message .button,
.cpc-woo .woocommerce .woocommerce-info .button{
    order: 2;
    min-height: 0;
    padding: 0;
    color: var(--red);
    text-decoration: underline;
    background: none;
    border: 0;
}
.cpc-woo .woocommerce .woocommerce-message .button:hover,
.cpc-woo .woocommerce .woocommerce-info .button:hover{
    color: var(--red-dark);
    background: none;
}
.cpc-woo .woocommerce-info a,
.cpc-woo .woocommerce-message a{
    color: var(--red);
}
.cpc-woo .woocommerce form.checkout_coupon{
    align-items: flex-end;
    margin: 0 0 1.5em;
    padding: 1.25em;
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
}
.cpc-woo .woocommerce form.checkout_coupon > p:first-child{
    width: 100%;
    margin: 0 0 0.75em;
}

/* поръчка: данни отляво, „Вашата поръчка“ отдясно */
@media (min-width: 992px){
    .cpc-woo form.checkout{
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 30em);
        grid-template-rows: auto 1fr;
        column-gap: 3em;
        align-items: start;
    }
    .cpc-woo form.checkout > *{
        grid-column: 1;
    }
    .cpc-woo form.checkout > .col2-set{
        grid-row: 1 / span 2;
    }
    .cpc-woo form.checkout > #order_review_heading{
        grid-column: 2;
        grid-row: 1;
    }
    .cpc-woo form.checkout > #order_review{
        grid-column: 2;
        grid-row: 2;
        position: sticky;
        top: 1.5em;
    }
    .cpc-woo form.checkout .col2-set{
        flex-direction: column;
    }
    .cpc-woo form.checkout .col2-set .col-1,
    .cpc-woo form.checkout .col2-set .col-2{
        flex: 0 0 auto;
    }
}
.cpc-woo .woocommerce-checkout-review-order-table .product-quantity{
    font-weight: 400;
    color: #6F7180;
}
.cpc-woo .woocommerce #payment{
    background: var(--grey-page);
    border-radius: 0.25em;
}
.cpc-woo .woocommerce #payment ul.payment_methods{
    padding: 1.25em;
    border-bottom: 1px solid var(--grey-border);
}
.cpc-woo .woocommerce #payment ul.payment_methods li{
    margin: 0 0 0.5em;
    line-height: 1.4;
}
.cpc-woo .woocommerce #payment ul.payment_methods li:last-child{
    margin-bottom: 0;
}
.cpc-woo .woocommerce #payment ul.payment_methods li label{
    font-weight: 700;
}
.cpc-woo .woocommerce #payment ul.payment_methods li.woocommerce-notice{
    margin: 0;
    background: #fff;
}
.cpc-woo .woocommerce #payment div.payment_box{
    color: var(--blue);
    background: #fff;
    border-radius: 0.25em;
}
.cpc-woo .woocommerce #payment div.payment_box::before{
    border-bottom-color: #fff;
}
.cpc-woo .woocommerce #payment div.form-row{
    margin: 0;
    padding: 1.25em;
}
.cpc-woo .woocommerce #payment #place_order{
    width: 100%;
    margin-top: 1em;
    float: none;
}
.cpc-woo .woocommerce-privacy-policy-text,
.cpc-woo .woocommerce-terms-and-conditions-wrapper{
    font-size: 0.92em;
    color: #6F7180;
}
.cpc-woo .woocommerce-privacy-policy-text a,
.cpc-woo .woocommerce-terms-and-conditions-wrapper a{
    color: var(--red);
}
.cpc-woo .blockUI.blockOverlay{
    background: rgba(255,255,255,.6) !important;
}

/* профил: меню отляво, съдържание отдясно */
.cpc-woo .woocommerce:has(> .woocommerce-MyAccount-navigation){
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2em 3em;
}
.cpc-woo .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
.cpc-woo .woocommerce:has(> .woocommerce-MyAccount-navigation)::after{
    display: none;
}
.cpc-woo .woocommerce .woocommerce-MyAccount-navigation{
    flex: 0 0 15em;
    width: auto;
    float: none;
}
.cpc-woo .woocommerce-MyAccount-navigation ul{
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
    overflow: hidden;
}
.cpc-woo .woocommerce-MyAccount-navigation li + li{
    border-top: 1px solid var(--grey-border);
}
.cpc-woo .woocommerce-MyAccount-navigation a{
    display: block;
    padding: 0.75em 1em;
    font-weight: 700;
    text-transform: uppercase;
}
.cpc-woo .woocommerce-MyAccount-navigation .is-active a{
    color: #fff;
    background: var(--blue);
}
.cpc-woo .woocommerce .woocommerce-MyAccount-content{
    flex: 1 1 20em;
    width: auto;
    float: none;
}
.cpc-woo .woocommerce-MyAccount-content p{
    margin: 0 0 1em;
}
.cpc-woo .woocommerce-MyAccount-content a:not(.button){
    color: var(--red);
}
.cpc-woo .woocommerce-Address-title{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1em;
}
.cpc-woo .woocommerce-Address-title::before,
.cpc-woo .woocommerce-Address-title::after{
    display: none;
}
.cpc-woo .woocommerce fieldset{
    margin: 1em 0 0;
    padding: 1.25em 1.25em 0.25em;
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
}
.cpc-woo .woocommerce legend{
    width: auto;
    padding: 0 0.5em;
    font-size: 1.1em;
    font-weight: 700;
}

/* вход / регистрация */
.cpc-woo .u-columns.col2-set .u-column1,
.cpc-woo .u-columns.col2-set .u-column2{
    padding: 1.5em;
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
}
.cpc-woo .woocommerce form.login,
.cpc-woo .woocommerce form.register{
    margin: 0;
    padding: 0;
    border: 0;
}

@media (max-width: 767px){
    .cpc-woo .woocommerce form .form-row-first,
    .cpc-woo .woocommerce form .form-row-last{
        width: 100%;
    }
    .cpc-woo .woocommerce table.cart td.actions .coupon .input-text{
        width: auto;
        flex: 1 1 10em;
    }
    .cpc-woo .woocommerce .cart-collaterals .cart_totals{
        max-width: none;
        float: none;
    }
    .cpc-woo .woocommerce .cart-collaterals .cross-sells{
        width: 100%;
        max-width: none;
        float: none;
        margin-bottom: 2em;
    }
    .cpc-woo .woocommerce .woocommerce-MyAccount-navigation{
        flex: 1 1 100%;
    }
}

/* „Вашата поръчка“: снимка вляво от името (inc/cpc_woocommerce.php) */
.cpc-woo .woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-name{
    position: relative;
    height: 5em;
    padding-left: 5.4em;
}
.cpc-woo .review-item__img{
    position: absolute;
    top: 50%;
    left: 1em;
    width: 3.6em;
    height: 3.6em;
    background: #fff;
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
    transform: translateY(-50%);
    overflow: hidden;
}
.cpc-woo .review-item__img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/******************************************************
* ПРАВНИ СТРАНИЦИ (temp-legal-page.php)
* Текст отляво, страничното меню (cpc_legal) отдясно
******************************************************/
.legal{
    padding-top: 1.6em;
}
.legal .section-title{
    margin-bottom: 1.2em;
}
.legal__row{
    row-gap: 2em;
}

/* текстът от редактора (правни страници, статии от блога) */
.rich-text{
    font-size: 1.1em;
    line-height: 1.5;
}
.rich-text > *:first-child{
    margin-top: 0;
}
.rich-text p,
.rich-text ul,
.rich-text ol,
.rich-text table,
.rich-text blockquote{
    margin: 0 0 1em;
}
.rich-text h2,
.rich-text h3,
.rich-text h4{
    margin: 1.6em 0 0.6em;
    font-weight: 700;
    color: var(--blue);
    line-height: 1.2;
}
.rich-text h2{
    font-size: 1.45em;
    text-transform: uppercase;
}
.rich-text h3{
    font-size: 1.25em;
}
.rich-text h4{
    font-size: 1.1em;
}
.rich-text ul{
    list-style: disc;
    padding-left: 1.5em;
}
.rich-text ol{
    padding-left: 1.5em;
}
.rich-text li + li{
    margin-top: 0.3em;
}
.rich-text a{
    color: var(--red);
    text-decoration: underline;
}
.rich-text a:hover{
    color: var(--red-dark);
}
.rich-text table{
    width: 100%;
    border-collapse: collapse;
}

/* таблици в текста на секциите (Технически характеристики и т.н.):
   бял фон, тънки линии между редовете, първата колона - етикетът */
.section-text table{
    width: 100%;
    margin: 0 0 1em;
    font-size: 0.95em;
    line-height: 1.25;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--grey-line);
}
.section-text th,
.section-text td{
    padding: 0.45em 1em;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--grey-line);
}
.section-text th{
    font-weight: 700;
}
.section-text tr > :first-child{
    width: 40%;
}
.section-text td p{
    margin: 0;
}
/* в „Текст + снимка“ текстът е 1.25em и колоната се свива по съдържанието */
.split .section-text:has(table){
    align-self: stretch;
}
.split .section-text table{
    font-size: 0.85em;
}
@media (max-width: 575px){
    .section-text th,
    .section-text td{
        padding: 0.45em 0.7em;
    }
}
.rich-text th,
.rich-text td{
    padding: 0.6em 0.8em;
    text-align: left;
    vertical-align: top;
    border: 1px solid var(--grey-border);
}
.rich-text th{
    background: var(--grey-page);
}
.rich-text blockquote{
    padding: 1em 1.25em;
    background: var(--grey-page);
    border-left: 4px solid var(--blue);
}

/* странично меню */
.legal-nav{
    position: sticky;
    top: 9em;
}
.logged-in.admin-bar .legal-nav {
    position: sticky;
    top: 10.5em;
}
.legal-nav ul{
    border: 1px solid var(--grey-border);
    border-radius: 0.25em;
    overflow: hidden;
}
.legal-nav li + li{
    border-top: 1px solid var(--grey-border);
}
.legal-nav a{
    display: block;
    padding: 0.85em 1.1em;
    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
    transition: background-color .2s, color .2s;
}
.legal-nav a:hover{
    color: var(--red);
    background: var(--grey-page);
}
.legal-nav a.is-active{
    color: #fff;
    background: var(--blue);
}
@media (max-width: 991px){
    /* на телефон / таблет менюто е над текста */
    .legal__row > :has(> .legal-nav){
        order: -1;
    }
    .legal-nav{
        position: static;
    }
    .legal-nav a{
        padding: 0.7em 1em;
    }
}

/* ---------- Продукт: редовете с отстъпки над наличното количество ---------- */
.price-table tbody tr.is-unavailable{
    cursor: not-allowed;
}
.price-table tbody tr.is-unavailable td,
.price-table tbody tr.is-unavailable:hover td{
    color: #A3A5B3;
    text-decoration: line-through;
}
.qty__input:disabled{
    opacity: .5;
}

/* ---------- Любими (inc/cpc_wishlist.php, js/cpc-wishlist.js) ---------- */
.round-btn--wishlist.is-active{
    background: var(--red);
}
.round-btn--wishlist.is-active:hover{
    background: var(--red-dark);
}
.round-btn--wishlist.is-active .svg-heart path{
    fill: currentColor;
}
/* продуктова страница: сърцето до „Добави в количката“, със същата височина */
.buy__actions{
    display: flex;
    align-items: flex-end;
    gap: 0.6em;
}
.buy__actions > .variations_button,
.buy__actions > .btn-red--block{
    flex: 1 1 auto;
    min-width: 0;
}
.buy__wishlist{
    flex: 0 0 auto;
    width: 2.625em;                 /* = височината на .btn-red--block (2.1em × 1.25) */
    height: 2.625em;
    border-radius: 0.25em;
}
.buy__wishlist .svg-wrapper{
    width: 1.4em;
    height: 1.4em;
}
/* страницата „Любими“ */
.wishlist{
    padding-top: 1.6em;
}
.wishlist .section-title{
    margin-bottom: 1.2em;
}
.wishlist__intro{
    margin-bottom: 1.5em;
}
.wishlist__empty{
    padding: 1em 0 2em;
    font-size: 1.15em;
}
.wishlist__empty[hidden]{
    display: none;
}
.wishlist__empty p{
    margin: 0 0 1em;
}

/* текстът от редактора: снимки, подравняване, цитати (статии, правни страници) */
.rich-text img{
    max-width: 100%;
    height: auto;
    border-radius: 0.35em;
}
.rich-text figure{
    max-width: 100%;
    margin: 0 0 1.2em;
}
.rich-text figcaption,
.rich-text .wp-caption-text{
    margin-top: 0.4em;
    font-size: 0.9em;
    color: #6F7180;
}
.rich-text .aligncenter{
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.rich-text .alignleft{
    float: left;
    margin: 0.3em 1.5em 1em 0;
}
.rich-text .alignright{
    float: right;
    margin: 0.3em 0 1em 1.5em;
}
.rich-text::after{
    content: "";
    display: table;
    clear: both;
}
.rich-text iframe{
    max-width: 100%;
}

/******************************************************
* БЛОГ (home.php / archive.php / single-post.php, inc/cpc_blog.php)
******************************************************/
.blog,
.post{
    /* padding-top: 1.6em; */
}
.blog .section-title,
.post .section-title{
    margin-bottom: 1.2em;
}
.blog__intro{
    max-width: 50em;
    margin-bottom: 1.5em;
}
.blog__grid{
    margin-top: 0;
}
.blog .pagination{
    margin-top: 2.5em;
}
.blog__empty{
    font-size: 1.15em;
}

/* категориите над статиите */
.blog-cats{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    margin-bottom: 2em;
}
.blog-cats__link{
    padding: 0.45em 1.1em;
    font-size: 1.05em;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid var(--grey-border);
    border-radius: 2em;
    transition: background-color .2s, color .2s, border-color .2s;
}
.blog-cats__link:hover{
    color: var(--red);
    border-color: var(--red);
}
.blog-cats__link.is-active{
    color: #fff;
    background: var(--blue);
    border-color: var(--blue);
}

/* статия */
.post__body{
    max-width: 52em;
    margin: 0 auto;
}
.post__meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4em 0.8em;
    margin: 0 0 1.2em;
    font-size: 1.05em;
}
.post__date{
    font-weight: 700;
    color: var(--red);
}
.post__cat{
    padding: 0.15em 0.75em;
    font-size: 0.9em;
    font-weight: 700;
    text-transform: uppercase;
    background: var(--grey-page);
    border-radius: 2em;
}
.post__img{
    margin: 0 0 1.8em;
    overflow: hidden;
    border-radius: 0.35em;
}
.post__img img{
    display: block;
    width: 100%;
    height: auto;
}
.post__content{
    font-size: 1.15em;
}
.post__tags{
    display: flex;
    flex-wrap: wrap;
    gap: 0.4em 0.9em;
    margin: 1.5em 0 0;
}
.post__tag{
    color: var(--red);
}

/* предишна / следваща */
.post-nav{
    display: flex;
    justify-content: space-between;
    gap: 1.5em;
    margin-top: 2.5em;
    padding-top: 1.5em;
    border-top: 1px solid var(--grey-border);
}
.post-nav__link{
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    max-width: 48%;
}
.post-nav__link--next{
    margin-left: auto;
    text-align: right;
    align-items: flex-end;
}
.post-nav__label{
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-size: 0.95em;
    font-weight: 700;
    color: var(--red);
    text-transform: uppercase;
}
.post-nav__label .svg-wrapper{
    width: 0.8em;
    height: 0.8em;
}
.post-nav__title{
    font-size: 1.15em;
    font-weight: 700;
    line-height: 1.2;
}
.post-related{
    padding-bottom: 1em;
}
@media (max-width: 575px){
    .post-nav{
        flex-direction: column;
    }
    .post-nav__link{
        max-width: none;
    }
}

/* ---------- Продукт: табовете без „Подобни продукти“ след тях - отстъп до футъра ---------- */
.product-details--last{
    padding-bottom: 4em;
}

/******************************************************
* СЕКЦИЯ „GRID“ (sections/cpc/grid.php)
* Редове (.cpc-grid-band) с колони (.cpc-grid__col > .grid-item)
******************************************************/
.cpc-grid-section__head{
    margin-bottom: 2em;
}
.cpc-grid-section__head .section-title{
    margin-bottom: 0.8em;
}
.cpc-grid-section__text{
    max-width: 50em;
    font-size: 1.15em;
    line-height: 1.4;
}
.cpc-grid-section__text.cpc-text-center{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.cpc-grid-section__text > *:last-child{
    margin-bottom: 0;
}

/* редове: между два реда без фон - разстоянието между колоните; с фон - отстъп в реда */
.cpc-grid-band + .cpc-grid-band{
    padding-top: var(--band-gap, 2em);
}
.cpc-grid-band.cpc-row--bg{
    padding-top: 3.3em;
    padding-bottom: 3.3em;
}
.cpc-grid-band.cpc-row--bg + .cpc-grid-band:not(.cpc-row--bg){
    padding-top: 3.3em;
}
.cpc-grid-band.cpc-row--pt-none{ padding-top: 0 !important; }
.cpc-grid-band.cpc-row--pt-s{    padding-top: 1.6em !important; }
.cpc-grid-band.cpc-row--pt-m{    padding-top: 3.3em !important; }
.cpc-grid-band.cpc-row--pt-l{    padding-top: 5em !important; }
.cpc-grid-band.cpc-row--pb-none{ padding-bottom: 0 !important; }
.cpc-grid-band.cpc-row--pb-s{    padding-bottom: 1.6em !important; }
.cpc-grid-band.cpc-row--pb-m{    padding-bottom: 3.3em !important; }
.cpc-grid-band.cpc-row--pb-l{    padding-bottom: 5em !important; }
.cpc-grid-section__btn{
    margin-top: 2.2em;
}

/* разстояние между колоните (вместо 15px на bootstrap) */
.cpc-grid{
    --gx: 2em;
    margin-left: calc(var(--gx) / -2);
    margin-right: calc(var(--gx) / -2);
    row-gap: var(--gx);
}
.cpc-grid > .cpc-grid__col{
    padding-left: calc(var(--gx) / 2);
    padding-right: calc(var(--gx) / 2);
}
.cpc-grid--gap-none{ --gx: 0px; }
.cpc-grid--gap-s{    --gx: 1em; }
.cpc-grid--gap-l{    --gx: 3.5em; }
.cpc-grid-band:has(.cpc-grid--gap-none) + .cpc-grid-band:not(.cpc-row--bg){ --band-gap: 0px; }
.cpc-grid-band:has(.cpc-grid--gap-s) + .cpc-grid-band:not(.cpc-row--bg){ --band-gap: 1em; }
.cpc-grid-band:has(.cpc-grid--gap-l) + .cpc-grid-band:not(.cpc-row--bg){ --band-gap: 3.5em; }

/* вертикално / хоризонтално */
.cpc-grid--v-top{    align-items: flex-start; }
.cpc-grid--v-middle{ align-items: center; }
.cpc-grid--v-bottom{ align-items: flex-end; }
.cpc-grid--v-stretch > .cpc-grid__col > .grid-item{
    height: 100%;
}
.cpc-grid--h-center{  justify-content: center; }
.cpc-grid--h-right{   justify-content: flex-end; }
.cpc-grid--h-between{ justify-content: space-between; }

/* показване по екран */
@media (max-width: 767px){
    .cpc-hide-mobile{ display: none !important; }
}
@media (min-width: 768px) and (max-width: 991px){
    .cpc-hide-tablet{ display: none !important; }
}
@media (min-width: 992px){
    .cpc-hide-desktop{ display: none !important; }
}

/* ---------- колоната ---------- */
.grid-item{
    position: relative;
    display: flex;
    flex-direction: column;
    color: var(--blue);
}
.grid-item--boxed{
    overflow: hidden;
    border-radius: 0.35em;
}
.grid-item--boxed .grid-item__body{
    padding: 1.5em 1.6em 1.6em;
}
.grid-item--bg-white{ background: #fff; }
.grid-item--bg-grey{  background: var(--grey-page); }
.grid-item--bg-beige{ background: var(--grey-bg); }
.grid-item--bg-blue{  background: var(--blue); color: #fff; }
.grid-item--bg-red{   background: var(--red);  color: #fff; }
.grid-item--border{
    border: 1px solid var(--grey-border);
}
.grid-item--shadow{
    box-shadow: 0 0.5em 1.8em rgba(12, 18, 72, .1);
}

.grid-item__body{
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
.grid-item--center .grid-item__body{
    align-items: center;
    text-align: center;
}

/* снимка */
.grid-item__img{
    overflow: hidden;
}
.grid-item__img img{
    display: block;
    width: 100%;
    height: auto;
    transition: transform .4s;
}
.grid-item__img--ratio img{
    aspect-ratio: var(--ratio);
    height: auto;
    object-fit: var(--fit, cover);
}
.grid-item--img-top:not(.grid-item--boxed) .grid-item__img{
    margin-bottom: 1.2em;
    border-radius: 0.35em;
}
.grid-item--img-bottom:not(.grid-item--boxed) .grid-item__img{
    margin-top: 1.2em;
    border-radius: 0.35em;
}
.grid-item--link:hover .grid-item__img img{
    transform: scale(1.03);
}

/* снимка отляво (от таблет нагоре - по ширина; на телефон - отгоре) */
@media (min-width: 768px){
    .grid-item--img-left{
        flex-direction: row;
        align-items: stretch;
    }
    .grid-item--img-left > .grid-item__img{
        flex: 0 0 40%;
        max-width: 40%;
    }
    .grid-item--img-left > .grid-item__img:not(.grid-item__img--ratio) img{
        height: 100%;
        object-fit: var(--fit, cover);
    }
    .grid-item--img-left:not(.grid-item--boxed) > .grid-item__img{
        margin-right: 1.5em;
        border-radius: 0.35em;
    }
    .grid-item--img-left.grid-item--boxed > .grid-item__body{
        justify-content: center;
    }
}
@media (max-width: 767px){
    .grid-item--img-left:not(.grid-item--boxed) .grid-item__img{
        margin-bottom: 1.2em;
        border-radius: 0.35em;
    }
}

/* снимка - фон на колоната, текстът върху нея (тъмен преход отдолу) */
.grid-item--img-background{
    min-height: 18em;
    color: #fff;
    background: var(--blue);
}
.grid-item--img-background > .grid-item__img{
    position: absolute;
    inset: 0;
}
.grid-item--img-background > .grid-item__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.grid-item--img-background > .grid-item__img::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(12, 18, 72, .85) 0%, rgba(12, 18, 72, .35) 55%, rgba(12, 18, 72, .1) 100%);
}
.grid-item--img-background > .grid-item__body{
    position: relative;
    justify-content: flex-end;
}

/* текст */
.grid-item__subtitle{
    margin: 0 0 0.35em;
    font-size: 1em;
    font-weight: 700;
    color: var(--red);
    text-transform: uppercase;
}
.grid-item--bg-blue .grid-item__subtitle,
.grid-item--bg-red .grid-item__subtitle,
.grid-item--img-background .grid-item__subtitle{
    color: inherit;
    opacity: .85;
}
.grid-item__title{
    margin: 0;
    font-size: 1.45em;
    font-weight: 700;
    line-height: 1.15;
}
.grid-item__title a{
    color: inherit;
}
.grid-item__title--s{  font-size: 1.2em; }
.grid-item__title--l{  font-size: 1.8em; }
.grid-item__title--xl{ font-size: 2.3em; line-height: 1.05; }
.grid-item__title--upper{
    text-transform: uppercase;
}
.grid-item__title--blue{ color: var(--blue); }
.grid-item__title--red{  color: var(--red); }
.grid-item__text{
    margin-top: 0.6em;
    font-size: 1.1em;
    line-height: 1.4;
}
.grid-item__text > *:last-child{
    margin-bottom: 0;
}
.grid-item__text a{
    color: var(--red);
    text-decoration: underline;
}
.grid-item--bg-blue .grid-item__text a,
.grid-item--bg-red .grid-item__text a,
.grid-item--img-background .grid-item__text a{
    color: inherit;
}
.grid-item__text ul{
    list-style: disc;
    padding-left: 1.3em;
}

/* бутон - най-долу в колоната */
.grid-item__foot{
    margin-top: auto;
    padding-top: 1.3em;
}
.btn-red--outline{
    color: var(--red);
    background: transparent;
    box-shadow: inset 0 0 0 1px var(--red);
}
.btn-red--outline:hover{
    color: #fff;
    background: var(--red);
}
.grid-item--bg-red .btn-red,
.grid-item--bg-blue .btn-red--outline,
.grid-item--img-background .btn-red--outline{
    color: #fff;
    background: transparent;
    box-shadow: inset 0 0 0 1px #fff;
}
.grid-item--bg-red .btn-red:hover,
.grid-item--bg-blue .btn-red--outline:hover,
.grid-item--img-background .btn-red--outline:hover{
    color: var(--blue);
    background: #fff;
}
.grid-item--bg-blue .link-more,
.grid-item--bg-red .link-more,
.grid-item--img-background .link-more{
    color: #fff;
}

/* „Цялата колона е линк“ - линкът на заглавието покрива колоната */
.grid-item__stretched::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
.grid-item--link .grid-item__foot{
    position: relative;
    z-index: 2;
}
.grid-item--link:hover .grid-item__title{
    color: var(--red);
}
.grid-item--link.grid-item--bg-blue:hover .grid-item__title,
.grid-item--link.grid-item--bg-red:hover .grid-item__title,
.grid-item--link.grid-item--img-background:hover .grid-item__title{
    color: inherit;
    text-decoration: underline;
}
/* снимка-фон: целият текст долу, върху тъмния преход (бутонът не се отделя от него) */
.grid-item--img-background .grid-item__foot{
    margin-top: 0;
}

/******************************************************
* СТРАНИЦА ЗА КОНТАКТИ (секция „Контакти“, изглед „Страница за контакти“)
* sections/cpc/contacts.php + форма inc/cpc_inquiry.php / js/cpc-inquiry.js
******************************************************/
.contact-page{
    padding-bottom: 4em;
}
.contact-page__intro{
    max-width: 50em;
    margin: 1em 0 0;
    font-size: 1.2em;
    line-height: 1.4;
}
.contact-page__row{
    row-gap: 2.5em;
    margin-top: 2.2em;
}

/* данните */
.contact-info{
    display: flex;
    flex-direction: column;
    gap: 1.4em;
    padding: 0.3em 0 0.3em 2em;
    border-left: 2px solid var(--red);
}
.contact-info__item{
    display: flex;
    align-items: flex-start;
    gap: 1em;
}
.contact-info__icon{
    width: 2.6em;
    height: 2.6em;
}
.contact-info__icon .svg-wrapper{
    width: 100%;
    height: 100%;
}
.contact-info__label{
    margin: 0 0 0.15em;
    font-size: 0.95em;
    font-weight: 700;
    color: var(--red);
    text-transform: uppercase;
}
.contact-info__value{
    font-size: 1.2em;
    line-height: 1.35;
}
.contact-info__value address{
    margin: 0;
}
.contact-info__value a:hover{
    color: var(--red);
}

/* формата - в сива кутия */
.contact-form{
    padding: 2em 2.2em 2.2em;
    background: var(--grey-page);
    border-radius: 0.35em;
}
.contact-form__title{
    margin: 0 0 0.4em;
    font-size: 1.6em;
    font-weight: 700;
    color: var(--blue);
    text-transform: uppercase;
}
.contact-form__text{
    margin: 0 0 1.2em;
    font-size: 1.1em;
    line-height: 1.4;
}

.inquiry__hp{
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.inquiry__grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1em 1.2em;
}
.inquiry__field{
    margin: 0;
}
.inquiry__field--wide{
    grid-column: 1 / -1;
}
.inquiry__field label{
    display: block;
    margin-bottom: 0.35em;
    font-weight: 700;
}
.inquiry .required{
    color: var(--red);
}
.inquiry__field input,
.inquiry__field textarea{
    display: block;
    width: 100%;
    height: 2.8em;
    padding: 0 1em;
    font-family: inherit;
    font-size: 1.05em;
    color: var(--blue);
    background: #fff;
    border: 1px solid #E0E0E0;
    border-radius: 0.25em;
    outline: none;
    transition: border-color .2s;
}
.inquiry__field textarea{
    height: auto;
    min-height: 9em;
    padding: 0.7em 1em;
    resize: vertical;
}
.inquiry__field input:focus,
.inquiry__field textarea:focus{
    border-color: var(--blue);
}
.inquiry__field .is-invalid{
    border-color: var(--red);
}
.inquiry__consent{
    position: relative;
    display: block;
    margin: 1.1em 0 0;
    padding-left: 1.75em;
    font-size: 0.98em;
    line-height: 1.35;
    cursor: pointer;
}
.inquiry__consent input{
    position: absolute;
    top: 0.1em;
    left: 0;
    width: 1.15em;
    height: 1.15em;
    margin: 0;
    accent-color: var(--red);
}
.inquiry__consent a{
    color: var(--red);
    text-decoration: underline;
}
.inquiry__consent.is-invalid{
    color: var(--red);
}
.inquiry__foot{
    margin-top: 1.4em;
}
.inquiry__submit{
    position: relative;
    border: 0;
    cursor: pointer;
}
.inquiry__submit.is-loading{
    color: transparent;
    pointer-events: none;
}
.inquiry__submit.is-loading::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.1em;
    height: 1.1em;
    margin: -0.55em 0 0 -0.55em;
    border: 2px solid rgba(255, 255, 255, .5);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cpc-spin .7s linear infinite;
}
@keyframes cpc-spin{
    to{ transform: rotate(360deg); }
}
.inquiry__message{
    margin-top: 1.2em;
    padding: 0.9em 1.1em;
    font-size: 1.05em;
    background: #fff;
    border-left: 4px solid var(--blue);
}
.inquiry__message.is-success{
    border-left-color: #2E7D32;
}
.inquiry__message.is-error{
    color: var(--red);
    border-left-color: var(--red);
}

/* карта */
.contact-page__map{
    height: 26em;
    margin-top: 3em;
    overflow: hidden;
    background: #E9ECEF;
    border-radius: 0.35em;
}
.contact-page__map iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 575px){
    .inquiry__grid{
        grid-template-columns: 1fr;
    }
    .contact-form{
        padding: 1.5em 1.2em;
    }
    .contact-info{
        padding-left: 1.2em;
    }
    .contact-page__map{
        height: 20em;
    }
}

/******************************************************
* БАНЕР (снимка, текст и бутон) - sections/cpc/promo_banner.php
* Снимката е фон на .promo-banner; панелът с текста има свой фон
* (::before) с диагонал / прав край / преливане.
******************************************************/
.promo-banner{
    --panel: var(--blue);
    --cut: 6em;                     /* ширината на диагонала */
    position: relative;
    display: flex;
    min-height: 16em;
    overflow: hidden;
    color: #fff;
    background: var(--blue) var(--img, none) var(--pos, center) / cover no-repeat;
}
.promo-banner--red{  --panel: var(--red); }
.promo-banner--dark{ --panel: rgba(10, 12, 30, .72); }
.promo-banner--h-s{ min-height: 12em; }
.promo-banner--h-l{ min-height: 22em; }
.promo-banner--boxed{
    border-radius: 0.35em;
}

.promo-banner__inner{
    display: flex;
    align-items: center;
    width: 100%;
}
.promo-banner--right .promo-banner__inner{
    justify-content: flex-end;
}

.promo-banner__panel{
    position: relative;
    isolation: isolate;
    width: 46%;
    padding: 2.4em 2em 2.6em 0;
}
.promo-banner--boxed .promo-banner__panel{
    padding-left: 2.8em;
}
.promo-banner--right .promo-banner__panel{
    padding: 2.4em 0 2.6em 2em;
}
.promo-banner--boxed.promo-banner--right .promo-banner__panel{
    padding-right: 2.8em;
}

/* фонът на панела - до ръба на банера (при цяла ширина - до ръба на екрана) */
.promo-banner__panel::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: -50em;
    bottom: -50em;
    left: 0;
    right: 0;
    background: var(--panel);
}
.promo-banner--full.promo-banner--left .promo-banner__panel::before{  left: -100vw; }
.promo-banner--full.promo-banner--right .promo-banner__panel::before{ right: -100vw; }

/* диагонал: долният край на панела е по-тесен с --cut */
.promo-banner--diagonal.promo-banner--left .promo-banner__panel::before{
    top: 0;
    bottom: 0;
    right: calc(var(--cut) * -1);
    clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);
}
.promo-banner--diagonal.promo-banner--right .promo-banner__panel::before{
    top: 0;
    bottom: 0;
    left: calc(var(--cut) * -1);
    clip-path: polygon(0 0, 100% 0, 100% 100%, var(--cut) 100%);
}
/* панелът е с височината на съдържанието си - диагоналът е на целия банер */
.promo-banner--diagonal .promo-banner__inner,
.promo-banner--diagonal .promo-banner__panel{
    align-self: stretch;
}
.promo-banner--diagonal .promo-banner__panel{
    display: flex;
    flex-direction: column;
    align-items: flex-start;        /* бутонът - с ширината на текста си */
    justify-content: center;
}

/* преливане в снимката */
.promo-banner--fade.promo-banner--left .promo-banner__panel::before{
    right: -10em;
    background: linear-gradient(90deg, var(--panel) calc(100% - 14em), transparent);
}
.promo-banner--fade.promo-banner--right .promo-banner__panel::before{
    left: -10em;
    background: linear-gradient(270deg, var(--panel) calc(100% - 14em), transparent);
}

/* текст */
.promo-banner__title{
    margin: 0;
    font-size: 2.2em;
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
}
.promo-banner__text{
    max-width: 24em;
    margin: 0.8em 0 0;
    font-size: 1.15em;
    line-height: 1.4;
}
.promo-banner__panel .btn-red{
    margin-top: 1.5em;
}
.promo-banner__btn--white{
    color: var(--red);
    background: #fff;
}
.promo-banner__btn--white:hover{
    color: #fff;
    background: var(--blue);
}
.promo-banner__btn--outline{
    background: transparent;
    box-shadow: inset 0 0 0 1px #fff;
}
.promo-banner__btn--outline:hover{
    color: var(--blue);
    background: #fff;
}

@media (max-width: 991px){
    .promo-banner__panel{
        width: 60%;
    }
}
/* телефон: панелът на цялата ширина, полупрозрачен върху снимката */
@media (max-width: 767px){
    .promo-banner{
        min-height: 0;
        background-image: var(--img-m, var(--img, none));
    }
    .promo-banner__panel,
    .promo-banner--right .promo-banner__panel,
    .promo-banner--boxed .promo-banner__panel,
    .promo-banner--boxed.promo-banner--right .promo-banner__panel{
        width: 100%;
        padding: 2em 1.5em 2.2em;
    }
    .promo-banner--full .promo-banner__panel,
    .promo-banner--full.promo-banner--right .promo-banner__panel{
        padding-left: 0;
        padding-right: 0;
    }
    .promo-banner .promo-banner__panel::before{
        top: 0;
        bottom: 0;
        left: -100vw !important;
        right: -100vw !important;
        clip-path: none !important;
        background: var(--panel) !important;
        opacity: .9;
    }
    .promo-banner__title{
        font-size: 1.8em;
    }
}

/* ---------- Партньори: с качено лого - без сивия кръг (кръгът остава за имена с текст) ---------- */
.partner > a:has(img),
.partner > span:has(img){
    background: none;
    border-radius: 0;
}
.partner > a:has(img):hover{
    background: none;
    opacity: .75;
}
.partner img{
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/******************************************************
* СЕКЦИЯ „ДОКУМЕНТИ“ (sections/cpc/documents.php)
******************************************************/
.documents{
    padding-bottom: 2.5em;
}
.documents__text{
    max-width: 50em;
    margin-top: 1em;
    font-size: 1.15em;
    line-height: 1.4;
}
.documents__text > *:last-child{
    margin-bottom: 0;
}
.documents__row,
.documents > .container > .doc-list{
    margin-top: 1.8em;
}
.documents .section-title + .documents__row,
.documents .section-title + .doc-list{
    margin-top: 1.5em;
}
.documents__row{
    row-gap: 2em;
}
/* снимката е колкото списъка с документите (височината на реда идва от списъка) */
.documents__img{
    position: relative;
    height: 100%;
    min-height: 14em;
    overflow: hidden;
    border-radius: 0.35em;
}
.documents__img img{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 992px){
    /* червена линия между снимката и документите */
    .documents__list-col{
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-left: 2.2em;
        border-left: 1px solid var(--red);
    }
    .documents__row--img-right{
        flex-direction: row-reverse;
    }
    .documents__row--img-right .documents__list-col{
        padding-left: 15px;
        padding-right: 2.2em;
        border-left: 0;
        border-right: 1px solid var(--red);
    }
}

.doc-list{
    display: grid;
    grid-template-columns: repeat(var(--doc-cols, 1), minmax(0, 1fr));
    gap: 0.7em 1.2em;
}
.doc-list--cols-2{ --doc-cols: 2; }
.doc-list--cols-3{ --doc-cols: 3; }
@media (max-width: 991px){
    .doc-list--cols-3{ --doc-cols: 2; }
}
@media (max-width: 767px){
    .doc-list{ --doc-cols: 1; }
}

.doc-item{
    display: flex;
    align-items: center;
    gap: 0.9em;
    height: 100%;
    padding: 0.6em 1em 0.6em 0.6em;
    color: var(--blue);
    background: #fff;
    border: 1px solid var(--grey-border);
    border-radius: 0.35em;
    transition: border-color .2s, box-shadow .2s;
}
.doc-item:hover{
    color: var(--blue);
    border-color: var(--red);
    box-shadow: 0 0.4em 1.2em rgba(12, 18, 72, .08);
}
/* иконата: червен квадрат с файл и типа (PDF ...) */
.doc-item__icon{
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6em;
    height: 2.6em;
    color: #fff;
    background: var(--red);
    border-radius: 0.25em;
}
.doc-item__icon .svg-file{
    width: 1.7em;
    height: 1.7em;
}
.doc-item__ext{
    font-size: 0.8em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
}
.doc-item__body{
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.doc-item__title{
    font-size: 1.08em;
    font-weight: 700;
    line-height: 1.2;
}
.doc-item__meta{
    margin-top: 0.15em;
    font-size: 0.9em;
    color: #8A8C99;
}
.doc-item__download{
    flex: 0 0 auto;
    width: 1.4em;
    height: 1.4em;
    color: var(--red);
    transition: transform .2s;
}
.doc-item:hover .doc-item__download{
    transform: translateY(2px);
}

/* Grid: текстът вертикално до снимката (отляво / фон) - „Текстът - вертикално“ */
.grid-item--valign-top    > .grid-item__body{ justify-content: flex-start; }
.grid-item--valign-middle > .grid-item__body{ justify-content: center; }
.grid-item--valign-bottom > .grid-item__body{ justify-content: flex-end; }
.grid-item--valign-middle > .grid-item__body > .grid-item__foot,
.grid-item--valign-bottom > .grid-item__body > .grid-item__foot{
    margin-top: 0;              /* бутонът - заедно с текста, не най-долу */
}
