/*
Theme Name:   SNN-BRX - Bricks Builder Child Theme
Theme URI:    https://sinanisler.com/
Description:  SNN-BRX Child Theme is a purpose-built essential building suite for agencies and professionals, streamlining your Bricks Builder projects with one powerful child theme.
Author:       sinanisler
Author URI:   https://sinanisler.com/
Text Domain:  snn
Template:     bricks
Version: 0.259
Text Domain:  bricks
*/

/* Wavy Border Effect - Frequency 500%, Wiggle 60%, Smoothen 0% */

/* SVG Filter Definition for Wavy Border */
.wavy-border-container {
    position: relative;
}

/* Main wavy border class */
.wavy-border {
    position: relative;
    border: 4px solid currentColor;
    filter: url(#wavy-border-filter);
}

/* Alternative: Using pseudo-elements for wavy border */
.wavy-border-pseudo {
    position: relative;
    padding: 20px;
}

.wavy-border-pseudo::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(90deg, currentColor 0%, currentColor 100%);
    z-index: -1;
    filter: url(#wavy-border-filter);
    mask: linear-gradient(#fff 0 0) content-box,
          linear-gradient(#fff 0 0);
    mask-composite: exclude;
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
                  linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
}

/* CSS-only wavy border using clip-path */
.wavy-border-css {
    position: relative;
    background: currentColor;
    padding: 4px;
    clip-path: polygon(
        0% 20%, 0.5% 15%, 1% 20%, 1.5% 25%, 2% 20%, 2.5% 15%, 3% 20%, 3.5% 25%, 4% 20%, 4.5% 15%, 5% 20%,
        5.5% 25%, 6% 20%, 6.5% 15%, 7% 20%, 7.5% 25%, 8% 20%, 8.5% 15%, 9% 20%, 9.5% 25%, 10% 20%,
        10.5% 15%, 11% 20%, 11.5% 25%, 12% 20%, 12.5% 15%, 13% 20%, 13.5% 25%, 14% 20%, 14.5% 15%, 15% 20%,
        15.5% 25%, 16% 20%, 16.5% 15%, 17% 20%, 17.5% 25%, 18% 20%, 18.5% 15%, 19% 20%, 19.5% 25%, 20% 20%,
        20.5% 15%, 21% 20%, 21.5% 25%, 22% 20%, 22.5% 15%, 23% 20%, 23.5% 25%, 24% 20%, 24.5% 15%, 25% 20%,
        25.5% 25%, 26% 20%, 26.5% 15%, 27% 20%, 27.5% 25%, 28% 20%, 28.5% 15%, 29% 20%, 29.5% 25%, 30% 20%,
        30.5% 15%, 31% 20%, 31.5% 25%, 32% 20%, 32.5% 15%, 33% 20%, 33.5% 25%, 34% 20%, 34.5% 15%, 35% 20%,
        35.5% 25%, 36% 20%, 36.5% 15%, 37% 20%, 37.5% 25%, 38% 20%, 38.5% 15%, 39% 20%, 39.5% 25%, 40% 20%,
        40.5% 15%, 41% 20%, 41.5% 25%, 42% 20%, 42.5% 15%, 43% 20%, 43.5% 25%, 44% 20%, 44.5% 15%, 45% 20%,
        45.5% 25%, 46% 20%, 46.5% 15%, 47% 20%, 47.5% 25%, 48% 20%, 48.5% 15%, 49% 20%, 49.5% 25%, 50% 20%,
        50.5% 15%, 51% 20%, 51.5% 25%, 52% 20%, 52.5% 15%, 53% 20%, 53.5% 25%, 54% 20%, 54.5% 15%, 55% 20%,
        55.5% 25%, 56% 20%, 56.5% 15%, 57% 20%, 57.5% 25%, 58% 20%, 58.5% 15%, 59% 20%, 59.5% 25%, 60% 20%,
        60.5% 15%, 61% 20%, 61.5% 25%, 62% 20%, 62.5% 15%, 63% 20%, 63.5% 25%, 64% 20%, 64.5% 15%, 65% 20%,
        65.5% 25%, 66% 20%, 66.5% 15%, 67% 20%, 67.5% 25%, 68% 20%, 68.5% 15%, 69% 20%, 69.5% 25%, 70% 20%,
        70.5% 15%, 71% 20%, 71.5% 25%, 72% 20%, 72.5% 15%, 73% 20%, 73.5% 25%, 74% 20%, 74.5% 15%, 75% 20%,
        75.5% 25%, 76% 20%, 76.5% 15%, 77% 20%, 77.5% 25%, 78% 20%, 78.5% 15%, 79% 20%, 79.5% 25%, 80% 20%,
        80.5% 15%, 81% 20%, 81.5% 25%, 82% 20%, 82.5% 15%, 83% 20%, 83.5% 25%, 84% 20%, 84.5% 15%, 85% 20%,
        85.5% 25%, 86% 20%, 86.5% 15%, 87% 20%, 87.5% 25%, 88% 20%, 88.5% 15%, 89% 20%, 89.5% 25%, 90% 20%,
        90.5% 15%, 91% 20%, 91.5% 25%, 92% 20%, 92.5% 15%, 93% 20%, 93.5% 25%, 94% 20%, 94.5% 15%, 95% 20%,
        95.5% 25%, 96% 20%, 96.5% 15%, 97% 20%, 97.5% 25%, 98% 20%, 98.5% 15%, 99% 20%, 99.5% 25%, 100% 20%,
        100% 80%, 99.5% 75%, 99% 80%, 98.5% 85%, 98% 80%, 97.5% 75%, 97% 80%, 96.5% 85%, 96% 80%, 95.5% 75%, 95% 80%,
        94.5% 85%, 94% 80%, 93.5% 75%, 93% 80%, 92.5% 85%, 92% 80%, 91.5% 75%, 91% 80%, 90.5% 85%, 90% 80%,
        89.5% 75%, 89% 80%, 88.5% 85%, 88% 80%, 87.5% 75%, 87% 80%, 86.5% 85%, 86% 80%, 85.5% 75%, 85% 80%,
        84.5% 85%, 84% 80%, 83.5% 75%, 83% 80%, 82.5% 85%, 82% 80%, 81.5% 75%, 81% 80%, 80.5% 85%, 80% 80%,
        79.5% 75%, 79% 80%, 78.5% 85%, 78% 80%, 77.5% 75%, 77% 80%, 76.5% 85%, 76% 80%, 75.5% 75%, 75% 80%,
        74.5% 85%, 74% 80%, 73.5% 75%, 73% 80%, 72.5% 85%, 72% 80%, 71.5% 75%, 71% 80%, 70.5% 85%, 70% 80%,
        69.5% 75%, 69% 80%, 68.5% 85%, 68% 80%, 67.5% 75%, 67% 80%, 66.5% 85%, 66% 80%, 65.5% 75%, 65% 80%,
        64.5% 85%, 64% 80%, 63.5% 75%, 63% 80%, 62.5% 85%, 62% 80%, 61.5% 75%, 61% 80%, 60.5% 85%, 60% 80%,
        59.5% 75%, 59% 80%, 58.5% 85%, 58% 80%, 57.5% 75%, 57% 80%, 56.5% 85%, 56% 80%, 55.5% 75%, 55% 80%,
        54.5% 85%, 54% 80%, 53.5% 75%, 53% 80%, 52.5% 85%, 52% 80%, 51.5% 75%, 51% 80%, 50.5% 85%, 50% 80%,
        49.5% 75%, 49% 80%, 48.5% 85%, 48% 80%, 47.5% 75%, 47% 80%, 46.5% 85%, 46% 80%, 45.5% 75%, 45% 80%,
        44.5% 85%, 44% 80%, 43.5% 75%, 43% 80%, 42.5% 85%, 42% 80%, 41.5% 75%, 41% 80%, 40.5% 85%, 40% 80%,
        39.5% 75%, 39% 80%, 38.5% 85%, 38% 80%, 37.5% 75%, 37% 80%, 36.5% 85%, 36% 80%, 35.5% 75%, 35% 80%,
        34.5% 85%, 34% 80%, 33.5% 75%, 33% 80%, 32.5% 85%, 32% 80%, 31.5% 75%, 31% 80%, 30.5% 85%, 30% 80%,
        29.5% 75%, 29% 80%, 28.5% 85%, 28% 80%, 27.5% 75%, 27% 80%, 26.5% 85%, 26% 80%, 25.5% 75%, 25% 80%,
        24.5% 85%, 24% 80%, 23.5% 75%, 23% 80%, 22.5% 85%, 22% 80%, 21.5% 75%, 21% 80%, 20.5% 85%, 20% 80%,
        19.5% 75%, 19% 80%, 18.5% 85%, 18% 80%, 17.5% 75%, 17% 80%, 16.5% 85%, 16% 80%, 15.5% 75%, 15% 80%,
        14.5% 85%, 14% 80%, 13.5% 75%, 13% 80%, 12.5% 85%, 12% 80%, 11.5% 75%, 11% 80%, 10.5% 85%, 10% 80%,
        9.5% 75%, 9% 80%, 8.5% 85%, 8% 80%, 7.5% 75%, 7% 80%, 6.5% 85%, 6% 80%, 5.5% 75%, 5% 80%,
        4.5% 85%, 4% 80%, 3.5% 75%, 3% 80%, 2.5% 85%, 2% 80%, 1.5% 75%, 1% 80%, 0.5% 85%, 0% 80%
    );
}

.wavy-border-css > * {
    background: white;
    position: relative;
    z-index: 1;
    margin: -4px;
}

/* Simpler wavy border using border-image */
.wavy-border-simple {
    position: relative;
    border: 4px solid transparent;
    border-image: url("data:image/svg+xml,%3Csvg width='40' height='12' viewBox='0 0 40 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 6c2-3 3-3 5 0s3 3 5 0 3-3 5 0 3 3 5 0 3-3 5 0 3 3 5 0 3-3 5 0 3 3 5 0' stroke='%23000' stroke-width='2' fill='none'/%3E%3C/svg%3E") 12 repeat;
}

/* Even more intense wavy border */
.wavy-border-intense {
    position: relative;
    padding: 20px;
    background: 
        linear-gradient(90deg, transparent 0%, transparent 2%, currentColor 2%, currentColor 2.5%, transparent 2.5%, transparent 5%, currentColor 5%, currentColor 5.5%, transparent 5.5%, transparent 8%, currentColor 8%, currentColor 8.5%, transparent 8.5%),
        linear-gradient(0deg, transparent 0%, transparent 2%, currentColor 2%, currentColor 2.5%, transparent 2.5%, transparent 5%, currentColor 5%, currentColor 5.5%, transparent 5.5%, transparent 8%, currentColor 8%, currentColor 8.5%, transparent 8.5%);
    background-size: 10px 100%, 100% 10px;
    background-position: 0 0, 0 0;
    background-repeat: repeat-y, repeat-x;
    -webkit-mask-image: 
        repeating-linear-gradient(45deg, transparent, transparent 2px, black 2px, black 4px),
        repeating-linear-gradient(-45deg, transparent, transparent 2px, black 2px, black 4px);
    mask-image: 
        repeating-linear-gradient(45deg, transparent, transparent 2px, black 2px, black 4px),
        repeating-linear-gradient(-45deg, transparent, transparent 2px, black 2px, black 4px);
    -webkit-mask-composite: multiply;
    mask-composite: multiply;
}

/* Color variations */
.wavy-border-primary {
    color: #007cba;
    border-color: #007cba;
}

.wavy-border-secondary {
    color: #6c757d;
    border-color: #6c757d;
}

.wavy-border-success {
    color: #28a745;
    border-color: #28a745;
}

.wavy-border-danger {
    color: #dc3545;
    border-color: #dc3545;
}

.wavy-border-warning {
    color: #ffc107;
    border-color: #ffc107;
}

/* Animated wavy border */
@keyframes wave-animation {
    0% {
        border-image-slice: 0 0 0 0;
    }
    100% {
        border-image-slice: 100% 0 0 0;
    }
}

.wavy-border-animated {
    animation: wave-animation 2s linear infinite;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wavy-border,
    .wavy-border-pseudo,
    .wavy-border-css {
        border-width: 3px;
    }
    
    .wavy-border-css > * {
        margin: -3px;
    }
}
