.wdo-pt-slider-wrapper {
    position: relative;
    overflow: hidden;
    padding: 10px 40px;
}

.wdo-pt-slider-wrapper.wdo-pt-no-arrows {
    padding: 10px 0;
}

.wdo-pt-slider-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    cursor: grab;
    padding-bottom: 10px;
}

.wdo-pt-slide {
    flex: 0 0 80%;
    min-width: 0;
    scroll-snap-align: start;
}

.wdo-pt-slider-prev,
.wdo-pt-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
}

.wdo-pt-slider-prev {
    left: 5px;
}

.wdo-pt-slider-next {
    right: 5px;
}

.wdo-pt-slider-prev:hover,
.wdo-pt-slider-next:hover {
    background: rgba(0, 0, 0, 0.6);
}

.wdo-pt-slider-load-more {
    padding: 10px 20px;
    cursor: pointer;
}

.wdo-pt-dots {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 15px;
}

.wdo-pt-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border-radius: 50%;
    background-color: #ccc;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.wdo-pt-dot.active {
    background-color: #333;
}

.wdo-pt-custom-btn {
    display: block;
    width: fit-content;
    margin: 25px auto 10px;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.wdo-pt-buttons-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Visibilità bottoni per device */
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop,
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-tablet,
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-mobile,
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_tablet,
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_mobile,
.wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-tablet_mobile {
    display: none;
}

@media (min-width: 1025px) {
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_tablet,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_mobile {
        display: flex;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-tablet,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_tablet,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-tablet_mobile {
        display: flex;
    }
}

@media (max-width: 767px) {
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-mobile,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-desktop_mobile,
    .wdo-pt-buttons-wrapper.wdo-pt-buttons-vis-tablet_mobile {
        display: flex;
    }
}

/* Grid indipendente da Elementor (utile per Gutenberg/altre pagine) */
.wdo-pt-grid-wrapper {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(var(--wdo-cols-desktop, 3), minmax(0, 1fr));
}

@media (max-width: 1024px) {
    .wdo-pt-grid-wrapper {
        grid-template-columns: repeat(var(--wdo-cols-tablet, 2), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .wdo-pt-grid-wrapper {
        grid-template-columns: repeat(var(--wdo-cols-mobile, 1), minmax(0, 1fr));
    }
}

.wdo-pt-buttons-wrapper > .wdo-pt-slider-load-more,
.wdo-pt-buttons-wrapper > .wdo-pt-custom-btn {
    margin: 5px;
}

.wdo-pt-fallback-card {
    border: 1px solid #eee;
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
}

.wdo-pt-fallback-card h4 {
    margin-top: 0;
    margin-bottom: 10px;
}

.wdo-pt-fallback-thumb {
    margin-bottom: 10px;
}

.wdo-pt-fallback-thumb img {
    max-width: 100%;
    height: auto;
    display: block;
}

.wdo-pt-fallback-excerpt {
    font-size: 14px;
    line-height: 1.5;
}

/* Debug output (solo admin + debug=1) */
.wdo-pt-debug{
    max-width:100%;
    overflow:auto;
    font-size:12px;
    line-height:1.4;
    padding:10px;
    box-sizing:border-box;
    white-space:pre-wrap;
    word-break:break-word;
}


.wdo-pt-slider-track.wdo-pt-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}
