/*
 * Revenue Pro Customizer - Egyedi stílusok
 * Itt adhatod hozzá az egyedi CSS szabályaidat.
 */

.revenue-customizer-wrapper.revx-custom-campaign-container.revx-campaign-list {
    margin-top: 1rem;
}

.revx-template .revx-campaign-grid-wrapper {
    width: 100%;
}

.revx-template h3 {
    font-size: 1em;
    font-family: "geologica-medium" !important;
    margin-bottom: 10px !important;
}

.revx-custom-campaign-container .pc-addon {
    box-shadow: 0 .1rem .4rem 0 rgba(54, 50, 48, .04);
    border-radius: 20px !important;
    padding: 15px 15px 10px !important;
    background: #fff;
    margin-bottom: 1rem;
}

.revx-custom-fbt-items::-webkit-scrollbar {
    display: none;
}

.revx-custom-campaign-container .pc-addon .pc-checkbox {
    min-width: 20px !important;
    width: 20px;
    height: 20px;
    cursor: pointer;
    margin-bottom: auto;
    border-radius: 5px;
    vertical-align: middle;
    border: 1px solid #7a7a7a;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}

.revx-custom-campaign-container .pc-addon .pc-checkbox:checked {
    background-color: var(--purple);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3 3.3L6 10.6 2.7 7.3 1.3 8.7l4.7 4.7 8.7-8.7z' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    border-color: var(--purple);
}

.revx-custom-campaign-container .pc-addon .pc-img {
    margin-bottom: auto;
}

.revx-custom-campaign-container .pc-addon .pc-img img {
    border-radius: 10px !important;
}

.revx-custom-campaign-container .pc-addon .pc-addon-title {
    font-size: 1rem;
    color: #6265ae;
    font-family: geologica-medium;
}

.revx-custom-campaign-container .pc-addon .pc-addon-price {
    margin: 7px 0 5px 0;
    font-size: 14px !important;
    font-family: geologica-medium;
    display: block;
}

.revx-custom-campaign-container .pc-addon .pc-addon-desc {
    font-size: 0.85em;
    color: #666;
    margin-top: 5px;
    line-height: 1.25em;
}

.add-to-cart-container:has(.revx-volume-discount) .quantity {
    display: none;
}

.revx-volume-discount__grid {
    display: grid;
    grid-template-columns: repeat(var(--revx-grid-columns, 3), 1fr);
    gap: 10px;
    width: 100%;
    padding-top: 20px;
    align-items: stretch;
    margin-bottom: 1.5rem;
}

.revx-volume-discount__grid.revx-loading {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.revx-campaign-item--grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    padding: 0;
    box-sizing: border-box;
    cursor: pointer;
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid #e8e8e8;
    transition: border-color 0.2s ease;
    height: 100%;
}

.revx-campaign-item__grid-inner .revx-per-unit,
.revx-campaign-item__grid-inner .revx-custom-item-price,
.revx-campaign-item__grid-inner .revx-volume-custom-text {
    color: var(--purple);
}

/* ── Loading state & Spinner ── */
.revx-custom-fbt-items.revx-loading {
    min-height: 150px;
    position: relative;
    visibility: hidden;
}

.revx-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--purple);
    border-radius: 50%;
    animation: revx-spin 1s linear infinite;
    z-index: 10;
    visibility: visible !important;
}

@keyframes revx-spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.revx-campaign-item--grid[data-revx-selected="true"] {
    border-color: var(--purple);
}

/* ── Badge ── */
.revx-custom-badge-tag {
    position: absolute;
    transform: translateX(-50%);
    z-index: 2;
    white-space: nowrap;
    background-color: var(--purple);
    border-radius: 16px;
    width: max-content;
}

/* LIST */
.revx-campaign-list .revx-custom-badge-tag {
    top: -8%;
    left: 20%;
}

/* GRID */
.revx-campaign-item--grid .revx-custom-badge-tag {
    top: -4%;
    left: 50%;
}

.revx-builder__popular-tag {
    padding: 6px 10px !important;
    /* border-radius: 0 0 12px 12px !important; */
    font-size: 10px !important;
    font-family: geologica-medium;
    letter-spacing: 0.3px;
    white-space: nowrap;
    text-wrap: auto;
    line-height: 1.4 !important;
    position: unset !important;
    color: var(--white);
    text-transform: uppercase;
}

/* ── Belső tartalom – grid a vertikális igazításhoz ── */
.revx-campaign-item__grid-inner {
    display: grid;
    grid-template-rows: 120px auto auto 28px 20px auto;
    /* fix magasság a save-tag és del-ár sornak, akkor is ha üres */
    align-items: center;
    justify-items: center;
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    flex: 1;
}

.revx-campaign-item--grid .pc-addon-price br {
    display: none !important;
}

/* ── Kép ── */
.revx-campaign-item__grid-image {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    box-sizing: border-box;
}

.revx-campaign-item__grid-image img {
    max-width: 90%;
    width: 100%;
    height: 100%;
    border-radius: var(--round-corners);
}

/* ── Cím ── */
.revx-volume-title--grid {
    font-size: 16px;
    font-family: geologica-medium;
    color: var(--purple);;
    text-align: center;
    margin: 4px 0 2px;
    line-height: 1.3;
}

/* ── Alcím ── */
.revx-campaign-item--grid p {
    font-size: 12px;
    color: var(--pastel-super-dark);
    margin: 0 0 10px;
    line-height: 1.4;
    height: 2rem;
}

/* ── SAVE tag ── */
.revx-volume-discount__tag--grid {
    display: inline-block;
    background: var(--yellow);
    color: var(--black);
    font-size: 11px;
    font-family: geologica-medium;
    padding: 3px 10px;
    border-radius: 20px;
    margin-left: 5px;
    letter-spacing: 0.2px;
}

.revx-volume-discount__tag {
    border-style: unset !important;
}

.revx-volume-discount__tag--grid:empty   {
    background: inherit;
    color: inherit;
    border: 0;
}

/* ── Árak ── */
.revx-campaign-item--grid .pc-addon-price {
    display: contents !important;
}

.revx-campaign-item--grid .pc-addon-price br {
    display: none !important;
}

.revx-campaign-item--grid .pc-addon-price del,
.revx-campaign-item--grid .pc-addon-price del .woocommerce-Price-amount {
    font-size: 12px !important;
    text-decoration: line-through;
    align-self: end;
}

.revx-campaign-item--grid .pc-addon-price ins,
.revx-campaign-item--grid .pc-addon-price ins .woocommerce-Price-amount {
    font-size: 1.1rem !important;
    color: var(--purple) !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    padding-bottom: 5px !important;
    display: block !important;
    align-self: end;
    margin-top: 3px;
}

/* ── Ft/Adag sor ── */
.revx-campaign-item--grid .revx-per-unit {
    width: 100%;
    border-top: 1px solid var(--border);
    padding: 10px 0 0;
    font-size: 12px;
    text-align: center;
    margin-top: auto;
    box-sizing: border-box;
}

/* ── Reszponzív ── */
@media (max-width: 580px) {
    .revx-campaign-item--grid .pc-addon-price ins,
    .revx-campaign-item--grid .pc-addon-price ins .woocommerce-Price-amount {
        font-size: 1rem !important;
    }
}

/* ── Kosár megjelenítés ── */
/* Csak az addon termékeknél rejtjük el a mennyiség oszlopot, mert náluk a név mellett jelenik meg */
.woocommerce-cart-form .revx-addon-cart-item .product-quantity,
.woocommerce-checkout-review-order-table .revx-addon-cart-item .product-quantity,
.woocommerce-checkout-review-order-table .revx-addon-cart-item .product-name .product-quantity,
.widget_shopping_cart_content .revx-addon-cart-item .quantity,
.revx-hidden-qty {
    display: none !important;
}

/* Mini cart (Flatsome/UX theme) specifikus igazítás */
.widget_shopping_cart_content .revx-addon-cart-item .ux-mini-cart-qty {
    font-size: 0 !important;
}

.widget_shopping_cart_content .revx-addon-cart-item .ux-mini-cart-qty .product-subtotal {
    font-size: .85rem; /* Visszaállítjuk a részösszeg méretét */
}

/* Slidecart elemek */
.cart-popup-inner.inner-padding {
    position: relative;
    overflow-y: auto !important;
}

.revx-campaign-slide {
    padding-top:25px;
    margin-bottom: 180px;
}

#cart-popup .revx-volume-discount__tag--grid {
    font-size: 0.7em;
    padding: 3px 7px !important;

}
.cart-popup-inner .woocommerce-mini-cart {
    margin-bottom: 0px;
}

#cart-popup .header-cart-content{
    background-color:transparent;
}

.revx-campaign-slide .revx-custom-fbt-items.revx-loading{
    visibility: visible !important;
}

.revx-campaign-slide .pc-addon:hover{
    cursor: default !important;
}

/* Értékelések */
.revx-custom-rating .star-rating{
    margin:0;
}

.revx-template .revx-custom-rating .star-rating::before {
    content: "★★★★★" !important;
    display: block !important;
}

.revx-template .revx-custom-rating .star-rating span {
    color:transparent !important;
    opacity: 0 !important;
}

.revx-template .revx-custom-rating .star-rating span::before {
    content: "★★★★★" !important;
    display: block !important;
}

.revx-rating-counter{
    font-size: 0.7em !important;
    margin-top:3px !important;
    color:var(--pastel-super-dark) !important;
    opacity: 0.8 !important;
}

.revx-custom-rating{
    display: flex;
    align-items: center;
}

/* Mini cart elemek */
.widget_shopping_cart{
    margin-bottom:25px;
}

.ux-mini-cart-footer {
    position: sticky;
    bottom: 0;
    width: 100%;
    z-index: 21;
}

.ux-mini-cart-footer #yith_points_message_container div{
    line-height:1.25em;
}

.ux-mini-cart-footer #yith_points_message_container{
    padding-top:5px !important;
}

.widget_shopping_cart_content .ux-mini-cart-footer:not(#pc-mini-cart-footer){
    display: none;
}

.off-canvas-cart #cart-popup .ux-mini-cart-footer{
    margin-left: 0px !important;
    margin-right: 0px !important;
    box-shadow: 0 -4px 10px -6px rgba(0, 0, 0, 0.18);
}

.empty-cart{
    display:none;
}

/* Add to cart gombok */
.woocommerce-mini-cart__buttons.buttons{
    margin-bottom:0px !important;;
}

.mini_cart_add_to_cart_button{
    margin-right: 0px;
    background:#f48caa !important;
    min-height:unset;
}

.mini-cart-button-holder{
    margin-left:auto;
    display:flex;
    position: relative;
    align-items: center;
    align-content: center;
}

.mini-cart-button-holder .revx-spinner{
    height: 25px;
    width: 25px;
    aspect-ratio: 1/1;
    top:unset;
    left: 35%;
    transform:translateX(-50%);
    border:3px solid #e8e2e4;
    border-top:3px solid white;
    opacity: 0.8;
}

.mini_cart_add_to_cart_button{
    margin:0;
    position: relative;
    text-align: center;
    align-items: center;
    align-content:center;
}
.mini-cart-button-holder button.loading::after {
    display: block !important;
}

.ux-mini-cart-footer .woocommerce-mini-cart__buttons.buttons a{
    width:100% !important;
}

button.button.mini_cart_add_to_cart_button {
    margin-bottom:0 !important;
    margin-right:0 !important;
    min-height: unset;
}


/* PC Addon elemek */
.revx-custom-campaign-container.revx-campaign-slide .pc-addon-price{
    font-size: 0.85em !important;
}

.revx-campaign-slide .pc-addon-title{
    line-height: 1.25em;
}

.pc-slide-title-holder{
    display:flex;
    align-items:start;
}

.pc-slide-cart-text{
    color: white !important;
}

.revx-custom-campaign-container.revx-campaign-slide .pc-addon .pc-img{
    width: 60px !important;
}

#cart-popup .revx-custom-campaign-container.pc-addon .pc-item-details{
    padding-left:0;
}

#cart-popup .revx-custom-campaign-container.revx-campaign-slide .pc-addon{
    padding: 10px !important;
    margin-bottom: 0.7em;
}

.revx-campaign-slide .yith-wcbm-badge__wrap{
    display:none;
}

.ux-mini-cart-footer .payment-icons{
    position: sticky;
    bottom: 0px;
    padding-top:0px;
    width: 60%;
    max-width: 60%;
}

.ux-mini-cart-footer .payment-icons .col-inner{
    padding-top:0 !important;
    padding-bottom:0 !important;
}


/* Mobilon az árak ne törjenek */
@media (max-width: 768px) {
    .revx-custom-item-price.pc-addon-price {
        flex-wrap: nowrap !important;
        align-items: center !important;
        white-space: nowrap;
        gap: 4px !important;
    }

    .revx-custom-item-price.pc-addon-price del:not(.revx-mini-cart),
    .revx-custom-item-price.pc-addon-price ins:not(.revx-mini-cart) {
        display: inline !important;
        white-space: nowrap;
    }

    .revx-custom-item-price.pc-addon-price {
        flex-wrap: wrap !important;
    }

    .revx-campaign-slide.revx-custom-campaign-container  .pc-addon .pc-addon-title{
        font-size: 0.85em !important;
        line-height:1.25em;
    }

    .revx-volume-discount__tag--grid {
        white-space: nowrap;
        margin-left: 0;
    }

    .revx-campaign-slide{
        border-top:1px solid #ececec;
    }

    #cart-popup .revx-template h3{
        margin-bottom: 20px !important;
    }

    .button.mini_cart_add_to_cart_button{
        margin:0 0 0 0 !important;
        padding-left: 10px;
        padding-right: 10px;
    }
    .mini-cart-button-holder .revx-spinner{
        width:1.5em;
        height: 1.5em;
    }

    #cart-popup .revx-volume-discount__tag.revx-volume-discount__tag--grid{
        margin-left: 5px;
    }

    .pc-slide-cart-text{
        font-size:12px !important;
    }

    .mini-cart-button-holder button.button{
        line-height: unset;
    }
    
    .mfp-content.off-canvas-cart{
        width:95%;
    }
}

@media screen and (max-width: 549px) {
    .mfp-content.off-canvas-cart{
        width:95% !important;
    }
}
/* ── Spinner ── */
.revx-spinner-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    width: 100%;
}

.revx-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(98, 101, 174, 0.1);
    border-left-color: #6265ae; /* lila szín a kódból: #6265ae */
    border-radius: 50%;
    animation: revx-spin 1s linear infinite !important;
    display: block;
}

@keyframes revx-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}