/* Pinterest Pin Buttons - Styles v2.5 */
/* Simple wrapper approach - each image/picture gets wrapped in .ppb-image-wrapper */

/*
 * Wrapper styles - minimal interference with existing layout
 */
.ppb-image-wrapper {
    position: relative;
    display: block;
    line-height: 0;
    max-width: 100%;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

/* Ensure images inside wrapper inherit parent constraints, not add new ones */
.ppb-image-wrapper > img,
.ppb-image-wrapper > picture,
.ppb-image-wrapper > picture img {
    display: block;
    max-width: 100%;
    max-height: none !important;
    height: auto !important;
    width: auto;
}

/*
 * Common button styles
 */
.ppb-pin-button-overlay,
.ppb-pin-button-banner {
    position: absolute;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.2s ease;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-weight: 600;
    text-decoration: none;
    border: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/*
 * Overlay button (Pin It - corner)
 */
.ppb-pin-button-overlay {
    padding: 8px 12px 8px 32px;
    border-radius: 20px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
}

.ppb-pin-button-overlay::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.ppb-pin-button-overlay::after {
    content: 'Pin It';
}

/* Position variants for overlay button */
.ppb-image-wrapper[data-position="top-left"] .ppb-pin-button-overlay {
    top: 12px;
    left: 12px;
}

.ppb-image-wrapper[data-position="top-right"] .ppb-pin-button-overlay {
    top: 12px;
    right: 12px;
}

.ppb-image-wrapper[data-position="bottom-left"] .ppb-pin-button-overlay {
    bottom: 12px;
    left: 12px;
}

.ppb-image-wrapper[data-position="bottom-right"] .ppb-pin-button-overlay {
    bottom: 12px;
    right: 12px;
}

/* Adjust for banner presence */
.ppb-image-wrapper[data-has-banner="1"][data-position="bottom-left"] .ppb-pin-button-overlay {
    bottom: 52px;
}

.ppb-image-wrapper[data-has-banner="1"][data-position="bottom-right"] .ppb-pin-button-overlay {
    bottom: 52px;
}

/*
 * Banner button (Pin this - bottom)
 */
.ppb-pin-button-banner {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 20px 10px 44px;
    text-align: center;
    opacity: 0;
    pointer-events: none;
}

.ppb-pin-button-banner::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.ppb-pin-button-banner::after {
    content: 'Pin this';
}

/*
 * Hover behavior - show on hover
 */
.ppb-image-wrapper:hover .ppb-pin-button-overlay,
.ppb-image-wrapper:hover .ppb-pin-button-banner {
    opacity: 1;
    pointer-events: auto;
}

/*
 * Always visible behavior
 */
.ppb-image-wrapper.ppb-always-visible .ppb-pin-button-overlay,
.ppb-image-wrapper.ppb-always-visible .ppb-pin-button-banner {
    opacity: 1;
    pointer-events: auto;
}

/*
 * Focus states for accessibility
 */
.ppb-pin-button-overlay:focus,
.ppb-pin-button-banner:focus {
    opacity: 1;
    pointer-events: auto;
    outline: 2px solid #E60023;
    outline-offset: 2px;
}

/*
 * Mobile adjustments
 */
@media (max-width: 768px) {
    .ppb-pin-button-overlay {
        padding: 6px 10px 6px 28px;
    }
    
    .ppb-pin-button-overlay::before {
        width: 14px;
        height: 14px;
        left: 8px;
    }
    
    .ppb-pin-button-banner {
        padding: 8px 16px 8px 38px;
    }
    
    .ppb-pin-button-banner::before {
        width: 16px;
        height: 16px;
        left: 12px;
    }
    
    /* Position adjustments for mobile */
    .ppb-image-wrapper[data-position="top-left"] .ppb-pin-button-overlay,
    .ppb-image-wrapper[data-position="top-right"] .ppb-pin-button-overlay {
        top: 8px;
    }
    
    .ppb-image-wrapper[data-position="top-left"] .ppb-pin-button-overlay {
        left: 8px;
    }
    
    .ppb-image-wrapper[data-position="top-right"] .ppb-pin-button-overlay {
        right: 8px;
    }
    
    .ppb-image-wrapper[data-position="bottom-left"] .ppb-pin-button-overlay,
    .ppb-image-wrapper[data-position="bottom-right"] .ppb-pin-button-overlay {
        bottom: 8px;
    }
    
    .ppb-image-wrapper[data-position="bottom-left"] .ppb-pin-button-overlay {
        left: 8px;
    }
    
    .ppb-image-wrapper[data-position="bottom-right"] .ppb-pin-button-overlay {
        right: 8px;
    }
    
    .ppb-image-wrapper[data-has-banner="1"][data-position="bottom-left"] .ppb-pin-button-overlay,
    .ppb-image-wrapper[data-has-banner="1"][data-position="bottom-right"] .ppb-pin-button-overlay {
        bottom: 44px;
    }
}

/*
 * Touch device adjustments - always show buttons
 */
@media (hover: none) {
    .ppb-image-wrapper .ppb-pin-button-overlay,
    .ppb-image-wrapper .ppb-pin-button-banner {
        opacity: 1;
        pointer-events: auto;
    }
}

/*
 * Print styles - hide buttons
 */
@media print {
    .ppb-pin-button-overlay,
    .ppb-pin-button-banner {
        display: none !important;
    }
}
