.custom-button {
    display: inline-block;
    padding: 10px 20px;
    border: none;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
}

.button-container {
    display: flex;
}

.button-container.center {
    justify-content: center;
}

.button-container.left {
    justify-content: flex-start;
}

.button-container.right {
    justify-content: flex-end;
}

.content-desktop, .content-tablet {
    padding: 10px 0;
    grid-template-columns: 33% 66%;
    gap: 20px;
    align-items: center;
}

.flipped {
    display: grid;
    grid-template-columns: 66% 33%;
    text-align: right;
}

/* Media mask */
.media{
    width:100%;
}

.media-mask{
    width:100%;
    height:100%;
    overflow:hidden;
    display: flex;        /* add this in shared CSS */
    flex-direction: column;
    border-radius: 0px;
}

/* Diagonal mask 20% for right-side media */
.diag-mask-20{
    clip-path: polygon(
        20% 0,
        100% 0,
        100% 100%,
        0% 100%);
}

/* Flipped diagonal for left-side media */
.flipped > .diag-mask-20{
    clip-path: polygon(
        0 0,
        100% 0,
        80% 100%,
        0% 100%);
}

/* Diagonal mask 30% for right-side media */
.diag-mask-30{
    clip-path: polygon(
        30% 0,
        100% 0,
        100% 100%,
        0% 100%);
}

/* Flipped diagonal for left-side media */
.flipped > .diag-mask-30{
    clip-path: polygon(
        0 0,
        100% 0,
        70% 100%,
        0% 100%);
}
/* Diagonal mask 40% for right-side media */
.diag-mask-40{
    clip-path: polygon(
        40% 0,
        100% 0,
        100% 100%,
        0% 100%);
}

/* Flipped diagonal for left-side media */
.flipped > .diag-mask-40{
    clip-path: polygon(
        0 0,
        100% 0,
        60% 100%,
        0% 100%);
}

/* Responsive iframe wrapper */
.embed-wrap {
    position: relative;
    padding-top: 0;
    flex: 1;
    width: 100%;
    min-height: 0; /* prevent flex overflow */
}

.embed {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.masked-image{
    display:block;
    width:100%;
    min-height: unset;
    flex:1;
    object-fit:cover;
}

/* Hide/show based on screen size */
.content-desktop { display: grid; }
.content-tablet { display: none; }

@media (max-width: 1024px) and (min-width: 768px) {
    .content-desktop { display: none; }
    .content-tablet { display: grid; }
}