/**
 * Pretpot Images in Text Widget Styles
 */

.pretpot-images-in-text {
    position: relative;
    display: block;
    width: 100%;
    line-height: 1;
}

/* The text that creates the mask */
.pretpot-images-in-text__text {
    font-size: var(--text-size, 120px);
    font-weight: var(--text-weight, 700);
    font-family: var(--text-family, inherit);
    text-transform: var(--text-transform, none);
    letter-spacing: var(--text-spacing, 0);
    line-height: var(--text-line-height, 1);
    text-align: var(--text-align, center);
    
    /* Background clip for image inside text */
    background-size: var(--bg-size, cover);
    background-position: var(--bg-position, center center);
    background-repeat: no-repeat;
    
    /* Text fill with background image */
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    
    /* Ensure text is visible for masking */
    color: transparent;
    
    position: relative;
    z-index: 1;
    display: inline;
}

/* Overlay layer */
.pretpot-images-in-text__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
}

/* Text effects */
.pretpot-images-in-text__text--shadow {
    filter: drop-shadow(var(--text-shadow-x, 2px) var(--text-shadow-y, 2px) var(--text-shadow-blur, 4px) var(--text-shadow-color, rgba(0,0,0,0.3)));
}

.pretpot-images-in-text__text--stroke {
    -webkit-text-stroke: var(--stroke-width, 2px) var(--stroke-color, #000);
    text-stroke: var(--stroke-width, 2px) var(--stroke-color, #000);
}

.pretpot-images-in-text__text--glow {
    filter: drop-shadow(0 0 var(--glow-size, 10px) var(--glow-color, rgba(255,255,255,0.8)));
}

/* Alignment variations - now works on the container */
.pretpot-images-in-text--align-left {
    --text-align: left;
    text-align: left;
}

.pretpot-images-in-text--align-center {
    --text-align: center;
    text-align: center;
}

.pretpot-images-in-text--align-right {
    --text-align: right;
    text-align: right;
}

/* Image position presets */
.pretpot-images-in-text--position-top-left {
    --bg-position: left top;
}

.pretpot-images-in-text--position-top-center {
    --bg-position: center top;
}

.pretpot-images-in-text--position-top-right {
    --bg-position: right top;
}

.pretpot-images-in-text--position-center-left {
    --bg-position: left center;
}

.pretpot-images-in-text--position-center-center {
    --bg-position: center center;
}

.pretpot-images-in-text--position-center-right {
    --bg-position: right center;
}

.pretpot-images-in-text--position-bottom-left {
    --bg-position: left bottom;
}

.pretpot-images-in-text--position-bottom-center {
    --bg-position: center bottom;
}

.pretpot-images-in-text--position-bottom-right {
    --bg-position: right bottom;
}

/* Background size options */
.pretpot-images-in-text--size-cover {
    --bg-size: cover;
}

.pretpot-images-in-text--size-contain {
    --bg-size: contain;
}

.pretpot-images-in-text--size-auto {
    --bg-size: auto;
}

/* Link wrapper */
.pretpot-images-in-text__link {
    text-decoration: none;
    display: inline;
}

/* Stroke text with transparent fill */
.pretpot-images-in-text__text--stroke-only {
    -webkit-text-stroke: var(--stroke-width, 3px) var(--stroke-color, #000);
    text-stroke: var(--stroke-width, 3px) var(--stroke-color, #000);
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background: none !important;
}

/* Fallback for browsers that don't support background-clip: text */
@supports not (-webkit-background-clip: text) {
    .pretpot-images-in-text__text {
        color: var(--fallback-color, #333);
        -webkit-text-fill-color: initial;
        background: none !important;
    }
}

/* Responsive sizing */
@media (max-width: 1024px) {
    .pretpot-images-in-text__text {
        font-size: var(--text-size-tablet, var(--text-size, 120px));
    }
}

@media (max-width: 767px) {
    .pretpot-images-in-text__text {
        font-size: var(--text-size-mobile, var(--text-size-tablet, var(--text-size, 120px)));
    }
}