/* Structural defaults are intentionally low-specificity so native Elementor style controls win. */
:where(.ueeshop-site){--ue-accent:#111;--ue-gap:20px}
:where(.ue-nav-list,.ue-mobile-menu-list,.ue-nav .sub-menu){list-style:none;margin:0;padding:0}
:where(.ue-nav-list){display:flex;align-items:center;gap:30px}
:where(.ue-nav li){position:relative}
:where(.ue-nav a){display:block;text-decoration:none;color:inherit}
:where(.ue-nav .sub-menu){position:absolute;top:100%;left:0;min-width:210px;background:white;color:#222;padding:12px 0;box-shadow:0 8px 30px #0002;z-index:30;visibility:hidden;opacity:0;transition:opacity .2s}
:where(.ue-nav .sub-menu a){padding:10px 18px;white-space:nowrap}
:where(.ue-nav .sub-menu .sub-menu){left:100%;top:0}
:where(.ue-nav li:hover>.sub-menu,.ue-nav li:focus-within>.sub-menu){visibility:visible;opacity:1}
:where(.ue-nav-toggle){display:none;width:30px;border:0;background:none;padding:4px;color:inherit}
:where(.ue-nav-toggle span){display:block;background:currentColor;height:2px;margin:5px 0}
:where(.ue-is-mobile>.ue-nav-list){display:none}
:where(.ue-is-mobile>.ue-nav-toggle){display:block}
:where(.ue-mobile-menu){position:fixed;inset:0 auto 0 0;margin:0;width:min(85vw,400px);height:100dvh;max-height:none;border:0;padding:60px 25px 30px;background:#fff;color:#222}
:where(.ue-mobile-menu .sub-menu){position:static;visibility:visible;opacity:1;box-shadow:none;padding:0 0 0 15px;background:none;min-width:0}
:where(.ue-mobile-menu a){padding:12px 0;white-space:normal}
:where(.ue-dialog){border:0;padding:50px;max-width:min(94vw,650px);max-height:90dvh;overflow:auto;color:#222;background:#fff}
:where(dialog::backdrop){background:#0008}
:where(.ue-dialog-close){position:absolute;right:12px;top:8px;border:0;background:transparent;color:inherit;font-size:30px;line-height:1;padding:4px;cursor:pointer}
:where(.ue-search-dialog form){display:flex;gap:10px}
/* All five sources use effect 8 on desktop; its only white surface is the centered 600×60 search field. */
#ue-search{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;overflow:hidden;background:rgba(0,0,0,.8);color:#333;border-radius:0}
#ue-search::backdrop{background:transparent}
#ue-search .ue-search-surface{position:absolute;inset:0;width:50%;max-width:600px;height:60px;margin:auto;padding:0;background:transparent;box-sizing:border-box}
#ue-search .ue-search-form{display:block;position:relative;width:100%;height:60px;margin:0;padding:0;gap:0}
#ue-search input{display:block;width:100%;height:60px;line-height:60px;margin:0;border:0;border-radius:5px;padding:0 60px 0 0;text-indent:20px;box-sizing:border-box;background:#fff;color:#333;font:normal 14px/60px Arial,sans-serif;outline:0;box-shadow:none}
#ue-search input::placeholder{color:#333;opacity:1}
#ue-search .ue-search-submit{position:absolute;inset:0 0 auto auto;width:60px;height:60px;margin:0;border:0;border-radius:0;padding:0;box-shadow:none;background:transparent;color:#333;font:normal 14px Arial,sans-serif;cursor:pointer}
#ue-search .ue-search-submit::after{content:"";position:absolute;inset:0;background:url(source-search.svg) center/24px 24px no-repeat}
#ue-search .ue-dialog-close{position:absolute;top:10px;right:-60px;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:0;background:url(source-search-close.png) center/30px 30px no-repeat;box-shadow:none;cursor:pointer}
#ue-search .ue-dialog-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* The actual mobile header opens an 88% right drawer, with a 40px Arial italic field and a separate close control. */
@media(max-width:1000px){
 #ue-search{background:rgba(0,0,0,.6)}
 #ue-search .ue-search-surface{inset:0 0 0 auto;margin:0;width:88%;max-width:none;height:100%;padding:19px 15px 0;background:#fff}
 #ue-search .ue-search-form{width:calc(100% - 27px);height:40px}
 #ue-search input{height:40px;padding:0 60px 0 10px;text-indent:0;background:#efefef;color:#787878;font:italic 14px/40px Arial,sans-serif}
 #ue-search input::placeholder{color:#787878}
 #ue-search .ue-search-submit{width:40px;height:40px}
 #ue-search .ue-search-submit::after{inset:auto;top:50%;left:38%;width:16px;height:17px;transform:translate(-50%,-50%);background-image:url(source-search-mobile.svg);background-size:16px 16px}
 #ue-search .ue-dialog-close{top:19px;right:15px;width:27px;height:40px;background:none}
 #ue-search .ue-dialog-close::after{content:"";position:absolute;right:0;top:50%;width:12px;height:14px;transform:translateY(-50%);background:url(source-search-close-mobile.svg) center/12px 12px no-repeat}
 #ue-search .ue-dialog-close:focus-visible{outline-color:#333}
 #ue-search[open] .ue-search-surface{animation:ue-search-drawer-in .3s ease both}
}
@keyframes ue-search-drawer-in{from{transform:translateX(200vw)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#ue-search[open] .ue-search-surface{animation:none}}
:where(.ue-catalog){display:flex;gap:40px}
:where(.ue-catalog-content){flex:1;min-width:0}
:where(.ue-catalog-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ue-gap)}
:where(.ue-card){min-width:0}
:where(.ue-card-image){display:block;position:relative;overflow:hidden;aspect-ratio:1}
:where(.ue-card-image img){display:block;width:100%;height:100%;object-fit:contain;transition:opacity .35s,transform .35s}
:where(.ue-card-image .ue-card-hover-image){position:absolute;inset:0;opacity:0}
:where(.ue-card:hover .ue-card-hover-image){opacity:1}
:where(.ue-card-body){padding:20px 0}
:where(.ue-card-title){font-size:20px;font-weight:500;margin:0 0 12px}
:where(.ue-card-title a){color:inherit;text-decoration:none}
:where(.ue-card-date){display:block;color:#888;font-size:14px;margin-bottom:12px}
:where(.ue-card-excerpt){font-size:15px;line-height:1.6;color:#777}
:where(.ue-card-more){display:inline-block;color:inherit;margin-top:20px}
:where(.ue-quote-add,.ue-action,.ue-submit,.ue-account button){cursor:pointer;border:1px solid var(--ue-accent);padding:12px 20px;background:var(--ue-accent);color:white;line-height:1.5}
:where(.ue-card .ue-quote-add){margin-top:15px}
:where(.ue-pagination){display:flex;justify-content:center;gap:8px;margin-top:50px}
:where(.ue-pagination a){padding:8px 14px;border:1px solid #ddd;color:inherit;text-decoration:none}
:where(.ue-pagination [aria-current]){color:white;background:var(--ue-accent);border-color:var(--ue-accent)}
:where(.ue-filters){flex:0 0 200px}
:where(.ue-filters fieldset){border:0;border-bottom:1px solid #ddd;padding:0 0 25px;margin:0 0 25px}
:where(.ue-filters legend){font-size:18px;font-weight:600;margin-bottom:15px}
:where(.ue-filters label){display:flex;gap:8px;padding:7px 0}
:where(.ue-form){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
:where(.ue-field){display:flex;flex-direction:column;gap:8px;min-width:0}
:where(.ue-field-email,.ue-field-message,.ue-form .ue-submit,.ue-form-status){grid-column:1/-1}
:where(.ue-form input,.ue-form textarea,.ue-account input,.ue-search-dialog input,.ue-attribute select){width:100%;padding:12px;border:1px solid #ddd;background:white;color:#222;border-radius:0;box-sizing:border-box;font:inherit}
:where(.ue-form-title){font-size:30px;margin:0 0 25px}
:where(.ue-form-intro){margin-bottom:25px}
:where(.ue-honeypot){display:none}
/* Functional visibility must beat the active theme's generic button and label rules. */
.ueeshop-site .ue-honeypot{display:none}
.ueeshop-site .ue-nav-toggle{display:none;width:30px;border:0;background:none;padding:4px;color:inherit;border-radius:0}
.ueeshop-site .ue-nav-toggle span{display:block;background:currentColor;height:2px;margin:5px 0}
.ueeshop-site .ue-is-mobile>.ue-nav-toggle{display:block}
.ueeshop-site .ue-is-mobile>.ue-nav-list{display:none}
.ueeshop-site .ue-dialog-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:inherit;font-size:30px;line-height:1;padding:4px}
.ueeshop-site .ue-submenu-toggle{display:none}
.ueeshop-site .ue-mobile-menu .ue-submenu-toggle{display:block;position:absolute;top:5px;right:0;padding:7px 10px;border:0;background:transparent;color:inherit;border-radius:0;font-size:20px;line-height:1.3}
.ueeshop-site .ue-mobile-menu .sub-menu{display:none}
.ueeshop-site .ue-mobile-menu .ue-submenu-open>.sub-menu{display:block}
:where(.ue-form-status){padding:12px;background:#f4f4f4}
:where(.ue-account){max-width:560px;margin:0 auto}
:where(.ue-account h2){text-align:center;margin:0 0 35px}
:where(.ue-account form,.ue-account label){display:flex;flex-direction:column;gap:10px}
:where(.ue-account form){gap:22px}
:where(.ue-account-links){display:flex;justify-content:space-between;gap:20px;margin-top:20px}
:where(.ue-product-price){font-size:30px;margin-bottom:25px}
:where(.ue-product-params){display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin-bottom:25px}
:where(.ue-product-params dt,.ue-product-params dd){margin:0}
:where(.ue-product-params dt){color:#888}
:where(.ue-attribute){display:flex;align-items:center;gap:20px;margin-bottom:15px}
:where(.ue-attribute select){width:auto;min-width:140px}
:where(.ue-swatches){display:flex;gap:10px;margin:10px 0 20px}
:where(.ue-swatches button){background:var(--swatch);border:2px solid #ccc;border-radius:0;width:28px;height:28px;padding:0}
:where(.ue-swatches [aria-pressed=true]){outline:2px solid #333;outline-offset:2px}
:where(.ue-product-actions){display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}
:where(.ue-inquiry-row){display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #ddd}
:where(.ue-inquiry-row img){width:100px;height:100px;object-fit:contain}
:where(.ue-inquiry-row input){width:75px}
:where(.ue-inquiry-list .ue-form-wrap){margin-top:40px}
@media(max-width:767px){:where(.ue-catalog){flex-direction:column;gap:20px}:where(.ue-catalog-grid){grid-template-columns:repeat(2,minmax(0,1fr))}:where(.ue-filters){flex-basis:auto}:where(.ue-dialog){padding:45px 25px 30px}:where(.ue-form){grid-template-columns:1fr}:where(.ue-inquiry-row){flex-wrap:wrap}:where(.ue-card-title){font-size:16px}}

/* Optional source-style attribute buttons retain a synchronized hidden native select. */
:where(.ue-attribute-pills){display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}:where(.ue-attribute-pills button){padding:8px 15px;border:1px solid #ccc;border-radius:20px;background:transparent;color:inherit}:where(.ue-attribute-pills [aria-pressed=true]){border-color:currentColor}:where(.ue-attribute--pills select[hidden]){display:none}
