/* Small functional additions; original visual styles remain in style.css. */
.yb-video-dialog { border:0; padding:38px 12px 12px; width:min(664px,94vw); max-width:94vw; background:#fff; border-radius:4px; }
.yb-video-dialog::backdrop { background:rgba(0,0,0,.8); }
.yb-video-frame { aspect-ratio:4/3; }
.yb-video-frame iframe { width:100%; height:100%; display:block; }
.yb-video-close { position:absolute; top:2px; right:9px; border:0; background:none; color:#333; font-size:28px; line-height:30px; padding:0 5px; }
.video-play[role="button"] { cursor:pointer; }
.video-play[role="button"]:focus-visible { outline:3px solid #fff; outline-offset:6px; }
/* X now positions columns; retain the original portrait's section-based sizing. */
@media (min-width:768px) {
    #about > .x-container > .x-column:first-child { position:static; }
}
/* Original gallery screenshots, with the original timed fade and manual controls. */
.yb-portfolio-slider { max-width:937px; margin:0 auto 32px; }
.yb-portfolio-slider img { width:100%; height:auto; display:block; }
.yb-portfolio-slider .slick-prev { left:10px; z-index:2; }
.yb-portfolio-slider .slick-next { right:10px; z-index:2; }
.yb-portfolio-slider .slick-prev:before,.yb-portfolio-slider .slick-next:before { color:#333; }
/* Column positioning is kept relative except the explicitly restored portrait container. */
/* Keep the original email banner readable at intermediate desktop widths. */
.contact-banner-block a[href^="mailto:"] { font-size:clamp(16px,2vw,28px); overflow-wrap:anywhere; }
/* Recreate the original footer widget context without the retired Global Blocks plugin. */
footer.yb-shared-footer.x-colophon.top { padding:0; margin:0; border:0; box-shadow:none; }
.yb-shared-footer > .widget { margin:0; padding:0; border:0; }
/* Keep desktop content width stable while the current builder loads its styles. */
html { scrollbar-gutter:stable; }
/* Classic custom headlines use their own spacing, including the mobile 30px labels. */
.h-custom-headline { letter-spacing:-1px!important; }
/* The current Classic renderer inserts a leading empty paragraph before block headings. */
.steps .x-text > p:first-child:empty { display:none; }
.yb-mobile-callbar { display:none; }
@media(max-width:767px) {
    body { padding-top:49px; }
    .yb-mobile-callbar { display:block; position:fixed; z-index:99998; top:0; left:0; width:100%; height:49px; line-height:49px; text-align:center; background:#ff694a; color:#fff; font:20px/49px "Times New Roman",serif; }
    .yb-mobile-callbar a { color:#fff!important; font-weight:bold; }
    .x-navbar .x-btn-navbar { margin-top:0!important; }
    .admin-bar .yb-mobile-callbar { top:46px; }
}

@media(max-width:767px) { .contact-banner-block a[href^="mailto:"] { font-size:inherit; } }

/* Cornerstone 2 visibility classes remain in recovered Classic layouts. */
.cs-hide { display:none!important; }
@media(min-width:1200px) { .cs-hide-xl { display:none!important; } }
@media(min-width:980px) and (max-width:1199px) { .cs-hide-lg { display:none!important; } }
@media(min-width:768px) and (max-width:979px) { .cs-hide-md { display:none!important; } }
@media(min-width:481px) and (max-width:767px) { .cs-hide-sm { display:none!important; } }
@media(max-width:480px) { .cs-hide-xs { display:none!important; } }
/* Recover the real tablet scene and layer geometry from the original portfolio. */
.yb-portfolio-stage { position:relative; width:100%; aspect-ratio:1920/868; background-size:100% 100%; background-position:center; overflow:hidden; }
.yb-portfolio-stage .yb-portfolio-slider { position:absolute; left:26.8229%; top:29.7235%; width:48.6458%; max-width:none; margin:0; }
.yb-portfolio-title { position:absolute; top:3.4562%; left:0; width:100%; z-index:2; color:#fff; }
.yb-portfolio-subtitle { position:absolute; top:17.2811%; width:100%; text-align:center; }
.yb-portfolio-stage button { position:absolute; top:30%; width:10%; height:60%; margin:0; padding:0; border:0; border-radius:0; background:none; color:#fff; box-shadow:none; text-shadow:none; font-size:clamp(40px,7vw,110px); line-height:1; }
.yb-portfolio-stage .yb-portfolio-prev { left:7%; }
.yb-portfolio-stage .yb-portfolio-next { right:7%; }
.yb-portfolio-stage button:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
@media(max-width:979px) { .yb-portfolio-subtitle { display:none; } }
@media(max-width:767px) { .yb-portfolio-title { top:0; } }
/* Current Cornerstone also sets container stacking in its generated CSS. */
body .cs-content .x-section .x-container:not(.x-row):not(.x-grid):not(.x-div):not(.x-bar-content):not(.x-slide-container-content) { z-index:auto; }
