/* AleSerwis – komis (elementy dynamiczne; kolory z globali Elementora) */
:root{--ale-primary:var(--e-global-color-primary,#DA251D);--ale-text:var(--e-global-color-secondary,#1F1A17);--ale-muted:var(--e-global-color-text,#666);--ale-accent:var(--e-global-color-accent,#605D5C);--ale-bg2:var(--e-global-color-bgsec,#F6F6F0);--ale-border:var(--e-global-color-border,#E0E0E0);}

/* status badge */
.ale-badge{display:flex;width:fit-content;align-items:flex-start;padding:4px 10px;border-radius:999px;background:var(--ale-text);color:#fff;font-family:"DM Sans",sans-serif;font-weight:600;font-size:13px;line-height:18px;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;}
.ale-badge--zarezerwowany,.ale-badge--sprzedany{background:var(--ale-accent);}

/* reserve buttons hidden when not available */
.e-loop-item.komis_status-zarezerwowany .ale-add,.e-loop-item.komis_status-sprzedany .ale-add,
body.komis-status-zarezerwowany .ale-add,body.komis-status-sprzedany .ale-add{display:none!important;}
.ale-add a.is-loading{opacity:.7;pointer-events:none;}
.ale-add a.is-disabled{background:var(--ale-accent)!important;pointer-events:none;}

/* header counter */
.ale-rez-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:8px;border-radius:999px;background:var(--ale-primary);color:#fff;font-family:"DM Sans",sans-serif;font-weight:600;font-size:13px;line-height:18px;letter-spacing:0;}

/* breadcrumbs */
.ale-bc{display:flex;flex-wrap:wrap;gap:8px;font-family:"DM Sans",sans-serif;font-size:16px;line-height:26px;color:var(--ale-muted);}
.ale-bc a{color:var(--ale-muted);text-decoration:none;}
.ale-bc a:hover{color:var(--ale-primary);}
.ale-bc__cur{color:var(--ale-text);}

/* gallery */
.ale-gal{display:flex;flex-direction:column;gap:16px;width:100%;}
.elementor-widget-shortcode:has(.ale-gal){flex-shrink:0;width:100%;}
.ale-gal__main{position:relative;width:100%;aspect-ratio:704/528;border:1px solid var(--ale-border);border-radius:8px;overflow:hidden;background:var(--ale-bg2);touch-action:pan-y;}
.ale-gal__track{display:flex;height:100%;transition:transform .35s ease;will-change:transform;}
.ale-gal__slide{position:relative;flex:0 0 100%;height:100%;display:block;cursor:zoom-in;outline-offset:-3px;}
.ale-gal__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.ale-gal__zoom{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ale-text);pointer-events:none;opacity:0;transition:opacity .2s;}
.ale-gal__main:hover .ale-gal__zoom{opacity:1;}
.ale-gal__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ale-text);cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s;box-shadow:0 2px 8px rgba(31,26,23,.15);}
.ale-gal__nav--prev{left:12px;}.ale-gal__nav--next{right:12px;}
.ale-gal__main:hover .ale-gal__nav,.ale-gal__nav:focus-visible{opacity:1;}
.ale-gal__nav:hover,.ale-gal__nav:focus{background:var(--ale-primary);color:#fff;}
.ale-gal__count{position:absolute;left:12px;bottom:12px;padding:2px 10px;border-radius:999px;background:rgba(31,26,23,.7);color:#fff;font-size:13px;line-height:22px;font-weight:600;pointer-events:none;}
.ale-gal__count b{font-weight:600;}
.ale-gal__thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ale-gal__thumbs::-webkit-scrollbar{display:none;}
.ale-gal__thumb{position:relative;aspect-ratio:164/123;padding:0;border:1px solid var(--ale-border);border-radius:8px;overflow:hidden;background:var(--ale-bg2);cursor:pointer;scroll-snap-align:start;transition:border-color .2s;}
.ale-gal__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.ale-gal__thumb.is-active{border:2px solid var(--ale-primary);}
button.ale-gal__thumb:hover,button.ale-gal__thumb:focus{background:var(--ale-bg2);border-color:var(--ale-primary);}
/* lightbox */
.ale-lb-lock,.ale-lb-lock body{overflow:hidden;}
.ale-lb{position:fixed;inset:0;z-index:99999;display:none;background:rgba(31,26,23,.94);}
.ale-lb.is-open{display:block;}
.ale-lb__stage{position:absolute;inset:64px 96px;display:flex;align-items:center;justify-content:center;}
.ale-lb__img{max-width:100%;max-height:100%;object-fit:contain;display:block;transition:opacity .2s;user-select:none;}
.ale-lb__img.is-loading{opacity:.3;}
.ale-lb__close,.ale-lb__nav{position:absolute;width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s;}
.ale-lb__close:hover,.ale-lb__nav:hover,.ale-lb__close:focus-visible,.ale-lb__nav:focus-visible{background:var(--ale-primary);color:#fff;}
.ale-lb__close{top:16px;right:16px;}
.ale-lb__nav{top:50%;transform:translateY(-50%);}
.ale-lb__nav--prev{left:24px;}.ale-lb__nav--next{right:24px;}
.ale-lb__count{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:rgba(255,255,255,.8);font-size:14px;line-height:22px;font-weight:600;}
.ale-lb.is-single .ale-lb__nav,.ale-lb.is-single .ale-lb__count{display:none;}
@media(hover:none){.ale-gal__nav{opacity:1;}.ale-gal__zoom{opacity:1;}}

/* parameters */
.ale-params{margin:0;font-family:"DM Sans",sans-serif;font-size:16px;line-height:26px;}
.ale-params__row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--ale-border);}
.ale-params dt{flex:0 0 180px;color:var(--ale-muted);font-weight:400;}
.ale-params dd{flex:1;margin:0;color:var(--ale-text);font-weight:600;}

/* reservation item */
.ale-items{border-top:1px solid var(--ale-border);}
.ale-item{display:flex;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--ale-border);font-family:"DM Sans",sans-serif;font-size:16px;line-height:26px;}
.ale-item__img{flex:0 0 120px;height:90px;border-radius:8px;overflow:hidden;display:block;}
.ale-item__img img{width:100%;height:100%;object-fit:cover;display:block;}
.ale-item__info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.ale-item__name{color:var(--ale-text);font-weight:600;text-decoration:none;}
.ale-item__name:hover{color:var(--ale-primary);}
.ale-item__kat{color:var(--ale-muted);}
.ale-item__price{color:var(--ale-primary);font-weight:600;white-space:nowrap;}
.ale-item__remove{display:inline-flex!important;flex-direction:row!important;flex-shrink:0;white-space:nowrap;align-items:center;gap:6px;padding:0!important;border:0!important;border-radius:0!important;line-height:26px;background:none!important;color:var(--ale-muted)!important;font:inherit;cursor:pointer;}
.ale-item__remove:hover{color:var(--ale-primary)!important;}
.ale-item__remove img{display:block;width:24px;height:24px;}
.ale-popup-item .ale-item{padding-top:16px;}

/* summary rows */
.ale-sum{display:flex;flex-direction:column;gap:16px;font-family:"DM Sans",sans-serif;font-size:16px;line-height:26px;}
.ale-sum__row{display:flex;justify-content:space-between;gap:16px;}
.ale-sum__row span{color:var(--ale-muted);}
.ale-sum__row b{color:var(--ale-text);font-weight:600;white-space:nowrap;}
.ale-sum__row--total{padding-top:16px;border-top:1px solid var(--ale-border);}
.ale-sum__row--total span{color:var(--ale-text);font-weight:600;}
.ale-sum__row--total b{color:var(--ale-primary);}
.ale-sum--details{gap:12px;}
.ale-sum--details .ale-sum__row--total{padding-top:12px;}

body.komis-no-desc .ale-opis{display:none!important;}
/* empty / filled states on reservation page */
body.ale-rez-empty .ale-when-filled,body.ale-rez-filled .ale-when-empty{display:none!important;}

@media(max-width:767px){
  .ale-item{flex-wrap:wrap;gap:12px 16px;font-size:14px;line-height:22px;}
  .ale-item__img{flex-basis:96px;height:72px;}
  .ale-item__price{margin-left:112px;}
  .ale-params{font-size:14px;line-height:22px;}
  .ale-params dt{flex-basis:130px;}
  .ale-sum,.ale-bc{font-size:14px;line-height:22px;}
  .ale-gal__thumbs{gap:8px;grid-auto-columns:calc((100% - 24px) / 4);}
  .ale-gal__nav{width:36px;height:36px;}
  .ale-lb__stage{inset:56px 0;}
  .ale-lb__nav{top:auto;bottom:8px;transform:none;}
  .ale-lb__count{bottom:20px;}
}
/* reset Hello/Elementor button styles for gallery controls */
.ale-gal .ale-gal__nav,.ale-lb .ale-lb__close,.ale-lb .ale-lb__nav{border:0!important;border-radius:999px!important;padding:0!important;line-height:0!important;min-height:0!important;}
.ale-gal .ale-gal__nav{background:rgba(255,255,255,.92)!important;color:var(--ale-text)!important;}
.ale-gal .ale-gal__nav:hover,.ale-gal .ale-gal__nav:focus-visible{background:var(--ale-primary)!important;color:#fff!important;}
.ale-lb .ale-lb__close,.ale-lb .ale-lb__nav{background:rgba(255,255,255,.08)!important;color:#fff!important;}
.ale-lb .ale-lb__close:hover,.ale-lb .ale-lb__nav:hover,.ale-lb .ale-lb__close:focus-visible,.ale-lb .ale-lb__nav:focus-visible{background:var(--ale-primary)!important;}
.ale-gal .ale-gal__thumb{border-radius:8px!important;padding:0!important;}
.ale-lb .ale-lb__close,.ale-lb .ale-lb__nav{width:48px!important;height:48px!important;min-width:0!important;flex:none;}
.ale-gal .ale-gal__nav{width:44px!important;height:44px!important;min-width:0!important;}
@media(max-width:767px){.ale-gal .ale-gal__nav{width:36px!important;height:36px!important;}}
.ale-gal .ale-gal__thumb{border:1px solid var(--ale-border)!important;background:var(--ale-bg2)!important;}
.ale-gal .ale-gal__thumb:hover,.ale-gal .ale-gal__thumb:focus-visible{border-color:var(--ale-primary)!important;}
.ale-gal .ale-gal__thumb.is-active{border:2px solid var(--ale-primary)!important;}
