/* Optional modules only. No selectors reach WooCommerce or ThemeSky cards. */
.se-double-banner, .se-brands, .se-banners-section { box-sizing:border-box; min-width:0; font-family:var(--se-font); color:var(--se-ink); }
.se-banners-section { padding:20px; background:var(--se-banner-surface,var(--se-surface)); border:1px solid var(--se-banner-line,var(--se-line)); border-radius:var(--se-section-radius); }
.se-banners-section--transparent { background:transparent; }
.se-banners-section--borderless { border-color:transparent; }
.se-banners-section .se-banners-section__heading { margin:0 0 16px; }
.se-banners-section .se-banners-section__heading h2 { margin:0; font-size:24px; font-weight:700; line-height:1.25; color:var(--se-ink); }
.se-banners-section .se-banners-section__heading p { margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--se-muted); }
.se-double-banner *, .se-brands * { box-sizing:border-box; }
.se-double-banner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; }
.se-double-banner--single { grid-template-columns:minmax(0,1fr); }
.se-double-banner .se-banner { display:block; min-width:0; overflow:hidden; border:1px solid var(--se-line); border-radius:var(--se-section-radius); background:var(--se-surface); transition:border-color 420ms ease,box-shadow 420ms ease; }
.se-double-banner picture { display:block; width:100%; aspect-ratio:var(--se-banner-ratio,2 / 1); overflow:hidden; }
.se-double-banner .se-banner__image { display:block; width:100%; max-width:100%; height:100%; object-fit:var(--se-banner-fit,cover); object-position:var(--se-banner-x,50%) var(--se-banner-y,50%); transform:scale(1); transition:transform 420ms ease; }
.se-double-banner .se-banner:hover, .se-double-banner .se-banner:focus-visible { border-color:var(--se-hover); box-shadow:var(--se-shadow); }
.se-double-banner .se-banner:hover .se-banner__image, .se-double-banner .se-banner:focus-visible .se-banner__image { transform:scale(1.035); }
.se-double-banner a:focus-visible { outline:2px solid var(--se-steel); outline-offset:3px; }
.se-brands { --se-brand-width:170px; --se-brand-height:86px; --se-brand-gap:16px; padding:20px; background:var(--se-surface); border:1px solid var(--se-line); border-radius:var(--se-section-radius); }
.se-brands .se-brands__heading { display:flex; align-items:center; gap:12px; margin:0 0 16px; }
.se-brands .se-brands__copy { min-width:0; overflow-wrap:anywhere; }
.se-brands .se-brands__heading h2 { margin:0; color:var(--se-ink); font-size:24px; font-weight:700; line-height:1.25; }
.se-brands .se-brands__heading p { margin:6px 0 0; color:var(--se-muted); font-size:13px; line-height:1.5; }
.se-brands .se-brands__viewport { width:100%; overflow-x:auto; overflow-y:hidden; padding:5px; scrollbar-width:none; direction:ltr; overscroll-behavior-x:contain; cursor:grab; }
.se-brands.se-brands--ready .se-brands__viewport { touch-action:pan-y pinch-zoom; }
.se-brands .se-brands__viewport::-webkit-scrollbar { display:none; }
.se-brands .se-brands__viewport:focus-visible { outline:2px solid var(--se-steel); outline-offset:2px; border-radius:8px; }
.se-brands .se-brands__track { display:flex; width:max-content; overflow-anchor:none; }
.se-brands .se-brands__group { display:flex; flex:none; align-items:center; gap:var(--se-brand-gap); width:max-content; list-style:none; margin:0; padding:0 var(--se-brand-gap) 0 0; }
.se-brands .se-brand-item { flex:0 0 var(--se-brand-width); width:var(--se-brand-width); padding:0; margin:0; list-style:none; }
.se-brands .se-brand-tile { display:flex; align-items:center; justify-content:center; width:100%; height:var(--se-brand-height); padding:14px 18px; overflow:hidden; border:1px solid var(--se-line); border-radius:var(--se-tile-radius); color:var(--se-steel); background:var(--se-card-bg); text-decoration:none; transition:border-color 160ms ease,box-shadow 160ms ease; }
.se-brands .se-brand-logo { display:block; max-width:100%; width:auto; height:auto; max-height:100%; object-fit:contain; filter:grayscale(1); opacity:.78; user-select:none; -webkit-user-drag:none; transition:filter 160ms ease,opacity 160ms ease; }
.se-brands .se-brand-tile:hover, .se-brands .se-brand-tile:focus-visible { border-color:var(--se-hover); box-shadow:var(--se-shadow); }
.se-brands .se-brand-tile:hover .se-brand-logo, .se-brands .se-brand-tile:focus-visible .se-brand-logo { filter:grayscale(0); opacity:1; }
.se-brands .se-brand-tile:focus-visible { outline:2px solid var(--se-steel); outline-offset:2px; }
.se-brands .se-brand-name { font-size:14px; font-weight:500; line-height:1.3; overflow-wrap:anywhere; text-align:center; }
.se-brands .se-brands__controls { display:none; flex:none; align-items:center; gap:8px; margin-inline-start:auto; }
.se-brands.se-brands--ready .se-brands__controls { display:flex; }
.se-brands .se-brands__controls button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin:0; border:1px solid var(--se-line); border-radius:50%; background:var(--se-card-bg); color:var(--se-ink); cursor:pointer; }
.se-brands .se-brands__controls button:hover { border-color:var(--se-hover); }
.se-brands .se-brands__controls svg { width:18px; height:18px; }
.se-brands .se-brands__controls button:focus-visible { outline:2px solid var(--se-steel); outline-offset:2px; }
.se-brands .se-brands__controls button:disabled { opacity:.55; cursor:default; }
.se-brands.se-brands--dragging .se-brands__viewport { cursor:grabbing; user-select:none; }
.se-brands .se-module-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.elementor-widget-stabilnie-double-banner .se-module-notice, .elementor-widget-stabilnie-brands .se-module-notice { padding:12px; color:var(--se-value); background:var(--se-surface); border:1px dashed var(--se-line); font-size:13px; }
@media(max-width:767px) {
  .se-banners-section { padding:14px; }
  .se-banners-section .se-banners-section__heading h2 { font-size:22px; }
  .se-double-banner picture { aspect-ratio:var(--se-banner-ratio-mobile,var(--se-banner-ratio,2 / 1)); }
  .se-double-banner { grid-template-columns:minmax(0,1fr); gap:16px; }
  .se-brands { --se-brand-width:140px; --se-brand-height:76px; --se-brand-gap:12px; padding:14px; }
  .se-brands .se-brands__heading h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .se-double-banner .se-banner, .se-double-banner .se-banner__image, .se-brands .se-brand-tile, .se-brands .se-brand-logo { transition:none; }
  .se-double-banner .se-banner:hover .se-banner__image, .se-double-banner .se-banner:focus-visible .se-banner__image { transform:none; }
}
