/* Confirmed gold-on-white and white-on-gold readability repairs. */
.elementor-766 a.elementor-button,
.elementor-766 a.elementor-button .elementor-button-text,
.sol-main-content .e-loop-item a.elementor-button,
.sol-main-content .e-loop-item a.elementor-button .elementor-button-text { color: #333031 !important; }
.elementor-587 h4.elementor-heading-title,
.elementor-587 h4.elementor-heading-title a,
.sol-main-content .elementor-widget-text-editor a:not(.elementor-button) { color: #866943 !important; text-decoration: underline; }
.elementor-587 .pp-info-box-title { color: #866943 !important; }
.sol-main-content .e-loop-item .elementor-cta__title,
.sol-main-content .e-loop-item .elementor-cta__description,
.elementor-587 .elementor-element-9e7673b .uael-infobox-title,
.elementor-587 .elementor-element-9e7673b .uael-infobox-cta-link,
.elementor-587 .elementor-element-38e0f03 .uael-infobox-title,
.elementor-587 .elementor-element-38e0f03 .uael-infobox-cta-link,
.elementor-587 .elementor-element-5cdb6f7 .uael-infobox-title,
.elementor-587 .elementor-element-5cdb6f7 .uael-infobox-cta-link { color: #333031 !important; }
.sol-main-content a:focus-visible,
.sol-main-content button:focus-visible,
.pp-comparison-handle:focus-visible { outline: 3px solid #333031 !important; outline-offset: 4px; }
.sol-native-navigation .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle::after { content: ""; width: .5em; height: .5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); display: inline-block; flex-shrink: 0; margin: -.25em .3em 0 .65em; }
.sol-native-navigation .wp-block-navigation-item__content.wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: .25em; }
.sol-photo-dialog { width: min(1080px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); box-sizing: border-box; border: 0; border-radius: 8px; padding: 18px; background: #333031; color: #fff; font: 17px/1.4 "Source Sans Pro", Arial, sans-serif; }
.sol-photo-dialog::backdrop { background: #000b; }
.sol-photo-toolbar { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-bottom: 12px; }
.sol-photo-dialog button { min-height: 44px; border: 2px solid #fff; border-radius: 4px; background: #fff; color: #000000; padding: 8px 14px; font: 600 16px/1.3 "Source Sans Pro", Arial, sans-serif; cursor: pointer; }
.sol-photo-dialog button:focus-visible { outline: 3px solid #c7a879; outline-offset: 3px; }
.sol-photo-image { width: 100%; max-height: calc(100dvh - 175px); display: block; object-fit: contain; margin: auto; }
.sol-photo-status { margin: 12px 0 0; color: #fff !important; font-size: 16px; }
.sol-comparison-help { margin: 12px 0 24px; color: #333031; font: 16px/1.5 "Source Sans Pro", Arial, sans-serif; }
.sol-screen-reader { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sol-table-scroll th { text-align: left; vertical-align: top; }
/* Keep the gallery within its column while its captured carousel initializes. */
.sol-main-content .uael-img-carousel-wrap:not(.slick-initialized) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; }
.sol-main-content .uael-img-carousel-wrap:not(.slick-initialized) > .uael-grid-item { width: auto !important; max-width: 100%; }
.sol-case-photo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.sol-case-photo-grid::before, .sol-case-photo-grid::after { content: none !important; display: none !important; }
.sol-case-photo-grid a { display: block; min-width: 0; }
.sol-case-photo-grid img { display: block; width: 100%; height: auto; }
.sol-search-form { margin-top: 24px; max-width: 680px; font: 17px/1.5 "Source Sans Pro", Arial, sans-serif; }
.sol-search-form label { display: block; margin-bottom: 8px; }
.sol-search-form > div { display: flex; gap: 10px; }
.sol-search-form input { min-width: 0; flex: 1; padding: 12px; border: 1px solid #333031; border-radius: 4px; background: #fff; color: #000000; font: inherit; }
.sol-search-form button { padding: 12px 18px; background: #fff; color: #333031; border: 1px solid #333031; border-radius: 4px; font: 600 17px/1.5 "Source Sans Pro", Arial, sans-serif; }
/* A logo row with no carousel controls exposes all logos without rotation. */
.sol-logo-strip .swiper-wrapper { transform: none !important; flex-wrap: wrap; justify-content: center; gap: 20px; }
.sol-logo-strip .swiper-slide { max-width: 160px; margin: 0 !important; }
.sol-logo-strip .swiper-slide-duplicate { display: none !important; }
@media (prefers-reduced-motion: reduce) { .sol-main-content *, .sol-photo-dialog * { scroll-behavior: auto !important; animation-duration: 0s !important; transition-duration: 0s !important; } }
@media (max-width: 480px) { .sol-photo-dialog { padding: 12px; } .sol-photo-dialog button { font-size: 14px; padding: 8px 10px; } .sol-photo-status { font-size: 14px; } .sol-logo-strip .swiper-slide { max-width: 90px; } }
