:root{--aubr-radius:16px;--aubr-border:#e7e7e7;--aubr-text:#171717;--aubr-muted:#707070;--aubr-bg:#fff;--aubr-accent:#171717}
.aubr-events{display:grid;grid-template-columns:repeat(var(--aubr-columns,3),minmax(0,1fr));gap:24px}.aubr-event-item{overflow:hidden;background:var(--aubr-bg);border:1px solid var(--aubr-border);border-radius:var(--aubr-radius)}.aubr-image{display:block;height:260px;overflow:hidden}.aubr-image img{width:100%;height:100%;object-fit:cover;display:block}.aubr-event-body{padding:20px}.aubr-event-body h3{margin:8px 0 10px}.aubr-event-body h3 a{text-decoration:none;color:inherit}.aubr-event-time{font-size:.9rem;color:var(--aubr-muted)}.aubr-event-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-weight:600}.aubr-form-wrap{margin-top:48px;padding:clamp(20px,4vw,40px);border:1px solid var(--aubr-border);border-radius:var(--aubr-radius)}.aubr-availability{margin-bottom:8px}.aubr-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aubr-fields label{display:flex;flex-direction:column;gap:6px;font-weight:600}.aubr-fields input,.aubr-fields textarea{width:100%;padding:12px 14px;border:1px solid #cfcfcf;border-radius:10px;font:inherit}.aubr-wide{grid-column:1/-1}.aubr-booking-form button{margin-top:16px;padding:13px 20px;border:0;border-radius:10px;background:var(--aubr-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.aubr-form-message{margin-top:14px}.aubr-form-message.error{color:#a40000}.aubr-form-message.success{color:#146b2c}@media(max-width:767px){.aubr-events{grid-template-columns:1fr}.aubr-fields{grid-template-columns:1fr}.aubr-wide{grid-column:auto}}
.aubr-single{width:min(1180px,calc(100% - 32px));margin:40px auto 70px}.aubr-single-event{background:#fff}.aubr-single-hero{width:100%;margin-bottom:28px}.aubr-single-hero img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}.aubr-single-inner{width:min(900px,100%);margin:0 auto}.aubr-single-header{margin-bottom:28px}.aubr-single-date{font-weight:700;margin-bottom:8px}.aubr-single-header h1{margin:0 0 14px}.aubr-single-meta{display:flex;gap:16px;flex-wrap:wrap}.aubr-single-content{margin:30px 0}.aubr-single-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:32px 0}.aubr-single-gallery a{display:block;overflow:hidden}.aubr-single-gallery img{display:block;width:100%;height:240px;object-fit:cover}.aubr-single .aubr-form-wrap{margin-top:42px}@media(max-width:760px){.aubr-single{width:min(100% - 20px,1180px);margin-top:20px}.aubr-single-gallery{grid-template-columns:1fr 1fr}.aubr-single-gallery img{height:150px}}
.aubr-form-wrap{background:#b5b19a}
.aubr-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:28px 0}.aubr-share>span:first-child{font-weight:700;margin-right:4px}.aubr-share a,.aubr-share button{width:40px;height:40px;border:1px solid #d7d4c5;border-radius:999px;background:#fff;color:#3d3b54;display:inline-grid;place-items:center;text-decoration:none;cursor:pointer;font-size:18px}.aubr-share a:hover,.aubr-share button:hover{background:#b5b19a}.aubr-copy-state{font-size:13px;color:#3d3b54}.aubr-form-wrap{color:#3d3b54}.aubr-booking-form button{background:#3d3b54}.aubr-fields input,.aubr-fields textarea{border-color:rgba(61,59,84,.28)}

/* 1.5.0 – kompaktsem single vaade ja broneerimisvorm */
.aubr-single-hero{width:min(900px,100%);margin:0 auto 30px;border-radius:22px;overflow:hidden}.aubr-single-hero img{width:100%;max-height:500px;object-fit:cover;border-radius:inherit; object-position: center top;}
.aubr-single-header{text-align:center;margin-bottom:30px}.aubr-single-header h1{margin:0 auto 22px;max-width:850px}.aubr-single-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:0}.aubr-meta-item{min-height:78px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 14px;border-radius:14px;background:#b5b19a;color:#3d3b54;text-align:left}.aubr-meta-item>i{font-size:22px;flex:0 0 auto}.aubr-meta-item>span{display:grid;gap:1px}.aubr-meta-item small{font-size:11px;line-height:1.15;opacity:.75}.aubr-meta-item strong{font-size:17px;line-height:1.15;font-weight:750}
.aubr-share{justify-content:center;text-align:center;gap:13px;margin:30px auto}.aubr-share>span:first-child{flex-basis:100%;margin:0 0 2px;color:#3d3b54}.aubr-share a,.aubr-share button{width:38px;height:38px;border:0!important;border-radius:999px;background:transparent!important;color:#3d3b54!important;font-size:21px;box-shadow:none!important}.aubr-share a:hover,.aubr-share button:hover{background:rgba(61,59,84,.08)!important;transform:translateY(-1px)}.aubr-copy-state{flex-basis:100%;min-height:18px}
.aubr-form-wrap{width:min(720px,100%);margin:42px auto 0;padding:22px 24px;border:0;border-radius:16px;background:#b5b19a;color:#3d3b54}.aubr-form-wrap h2{margin:3px 0 16px;font-size:25px}.aubr-availability{font-size:13px;margin-bottom:3px}.aubr-fields{gap:10px 12px}.aubr-fields label{gap:4px;font-size:12px;font-weight:650}.aubr-fields input,.aubr-fields textarea{min-height:40px;padding:8px 11px;border:1px solid rgba(61,59,84,.22);border-radius:9px;background:rgba(255,255,255,.9);font-size:14px;outline:0;box-shadow:none}.aubr-fields input:focus,.aubr-fields textarea:focus{border-color:#3d3b54;box-shadow:0 0 0 3px rgba(61,59,84,.10)}.aubr-fields textarea{min-height:76px;resize:vertical}.aubr-booking-form button[type=submit]{height:42px;margin-top:12px;padding:0 18px;border-radius:9px;font-size:14px}.aubr-form-message{font-size:12px;min-height:4px;margin-top:9px}
.aubr-booking-modal[hidden]{display:none}.aubr-booking-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.aubr-booking-modal-backdrop{position:absolute;inset:0;background:rgba(28,28,32,.45);backdrop-filter:blur(3px)}.aubr-booking-modal-card{position:relative;width:min(430px,100%);background:#fff;color:#3d3b54;border-radius:18px;padding:28px;text-align:center;box-shadow:0 24px 70px rgba(20,20,25,.24);animation:aubrModalIn .18s ease-out}.aubr-modal-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:999px;background:#f2f2f3;color:#3d3b54;display:grid;place-items:center;cursor:pointer}.aubr-modal-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:999px;background:#b5b19a;display:grid;place-items:center;font-size:27px}.aubr-booking-modal-card h3{margin:0 0 7px;font-size:24px}.aubr-modal-lead{margin:0 0 14px}.aubr-modal-info{display:grid;gap:7px;margin:15px 0;padding:13px;border-radius:11px;background:#f4f3ed}.aubr-modal-info div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.aubr-modal-info span{opacity:.72}.aubr-modal-note{font-size:13px;line-height:1.45;margin:16px 0}.aubr-modal-ok{height:42px;padding:0 22px;border:0;border-radius:9px;background:#3d3b54;color:#fff;font-weight:700;cursor:pointer}.aubr-booking-modal.is-waitlist .aubr-modal-icon{background:#ece7c9}.aubr-booking-modal.is-waitlist .aubr-modal-icon i:before{content:"\e02d"}@keyframes aubrModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.aubr-single-hero{border-radius:15px;margin-bottom:22px}.aubr-single-hero img{max-height:360px}.aubr-single-header{text-align:left}.aubr-single-header h1{margin-bottom:15px}.aubr-single-meta{grid-template-columns:1fr 1fr}.aubr-meta-item{justify-content:flex-start;min-height:68px;padding:11px}.aubr-meta-item strong{font-size:15px}.aubr-form-wrap{padding:18px 16px;border-radius:14px}.aubr-fields{grid-template-columns:1fr}.aubr-wide{grid-column:auto}}

body.aubr-modal-open{overflow:hidden}

/* 1.6.0 */
.aubr-meta-item{min-height:64px}.aubr-meta-item>strong{font-size:17px;line-height:1.2}.aubr-meta-item>i{font-size:21px}.aubr-booking-limit-note,.aubr-soldout-note{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:100%;margin:10px auto 0;padding:9px 12px;border-radius:10px;background:#f0efe9;color:#3d3b54;font-size:13px}.aubr-soldout-note{background:#3d3b54;color:#fff}.aubr-availability strong{font-weight:800}.aubr-event-bottom span{font-weight:700}
@media(max-width:760px){.aubr-booking-limit-note,.aubr-soldout-note{width:100%;justify-content:flex-start;margin-left:0}.aubr-meta-item{min-height:58px}.aubr-meta-item>strong{font-size:14px}}

/* 1.7.0 – single, jagamine, mask ja välja müüdud */
html{scroll-behavior:smooth}
.aubr-single-topbar{width:min(900px,100%);margin:0 auto 14px}
.aubr-public-back{display:inline-flex;align-items:center;gap:7px;color:#3d3b54;text-decoration:none;font-size:14px;font-weight:700}
.aubr-public-back:hover{text-decoration:underline}
.aubr-single-header h1{margin-bottom:7px}
.aubr-share.aubr-share-compact{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;width:max-content;max-width:100%;margin:0 auto 10px;color:#3d3b54}
.aubr-share.aubr-share-compact>span:first-child{flex-basis:auto;margin:0 3px 0 0;font-size:12px;font-weight:700}
.aubr-share.aubr-share-compact a,.aubr-share.aubr-share-compact button{width:28px;height:28px;font-size:16px}
.aubr-share.aubr-share-compact .aubr-copy-state{flex-basis:auto;min-height:0;font-size:11px;white-space:nowrap}
.aubr-book-now{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;margin:0 auto 18px;padding:0 16px;border-radius:9px;background:#3d3b54;color:#fff!important;text-decoration:none;font-size:13px;font-weight:750}
.aubr-book-now:hover{opacity:.9;color:#fff!important}
.aubr-soldout-note{font-size:19px}
.aubr-form-wrap{scroll-margin-top:24px}
.aubr-form-wrap h2{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-bottom:5px}
.aubr-form-wrap h2 span{font-size:.68em;font-weight:600;opacity:.78}
.aubr-form-wrap .aubr-availability{margin:0 0 14px;font-size:14px}

/* Elementor/list: mask pildifailist */
.aubr-events.has-mask .aubr-image{-webkit-mask-image:var(--aubr-mask-image);mask-image:var(--aubr-mask-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.aubr-image{position:relative}
.aubr-soldout-ribbon{position:absolute;z-index:3;left:50%;top:50%;width:145%;padding:8px 20px;transform:translate(-50%,-50%) rotate(-45deg);transform-origin:center;text-align:center;background:#3d3b54;color:#fff;font-size:14px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;pointer-events:none;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.aubr-event-body h3{margin:0 0 5px}
.aubr-event-time{margin:0 0 10px}

@media(max-width:760px){
  .aubr-share.aubr-share-compact{justify-content:flex-start;margin-left:0;margin-right:0}
  .aubr-book-now{margin-left:0}
  .aubr-single-topbar{margin-bottom:10px}
  .aubr-soldout-note{font-size:19px}
}

/* 1.8.0 – list, mask, lazy loading ja single täiustused */
.aubr-soldout-ribbon{
position:absolute;
z-index:3;
left:50%;
top:50%;
width:110%;
padding:8px 20px;
transform:translate(-50%,-50%) rotate(-19deg);
transform-origin:center;
text-align:center;
background:rgba(190,30,45,.54);
color:#fff;
font-size:24px;
font-weight:600;
letter-spacing:.02em;
text-transform:uppercase;
pointer-events:none;
box-shadow:0 4px 18px rgba(0,0,0,0);
}
.aubr-event-time{margin:0 0 6px}
.aubr-event-availability{font-weight:700;color:#3d3b54;margin:0 0 10px}
.aubr-event-description{margin:0}
.aubr-event-bottom{margin-top:14px}
.aubr-events.has-mask .aubr-image{height:auto;position:relative;overflow:visible}
.aubr-events.has-mask .aubr-mask-sizer{display:block!important;width:100%!important;height:auto!important;opacity:0!important;pointer-events:none!important;position:relative!important;z-index:0!important}
.aubr-events.has-mask .aubr-event-thumb{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;-webkit-mask-image:var(--aubr-mask-image);mask-image:var(--aubr-mask-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.aubr-events.has-mask .aubr-soldout-ribbon{z-index:4}
.aubr-load-more-wrap{text-align:center;margin-top:26px}.aubr-load-more{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#3d3b54;color:#fff;font:inherit;font-weight:700;cursor:pointer}.aubr-load-more.is-loading{opacity:.6;pointer-events:none}.aubr-load-more i{font-size:18px}
.aubr-share.aubr-share-compact a,.aubr-share.aubr-share-compact button{width:36px;height:36px;font-size:22px}
.aubr-more-events{margin-top:58px;padding-top:30px;border-top:1px solid #ecebe6}.aubr-more-events-head{text-align:center;margin-bottom:18px}.aubr-more-events-head h2{margin:0 0 4px;font-size:24px}.aubr-more-events-head p{margin:0;color:#6f6d79;font-size:14px}.aubr-more-events .aubr-event-body{padding:14px}.aubr-more-events .aubr-event-body h3{font-size:17px;margin-top:0}.aubr-more-events .aubr-event-description{font-size:13px}.aubr-more-events .aubr-image{height:180px}.aubr-more-events .aubr-event-bottom{font-size:13px}
@media(max-width:760px){.aubr-share.aubr-share-compact a,.aubr-share.aubr-share-compact button{width:34px;height:34px;font-size:21px}.aubr-more-events{margin-top:40px}.aubr-more-events .aubr-image{height:160px}}
\n\n/* 1.8.1 – listi meta rida, maski joondus, hover ja tagasi nupp */
.aubr-event-item{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}.aubr-event-item:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(61,59,84,.10)}
.aubr-event-thumb{transition:transform .28s ease}.aubr-event-item:hover .aubr-event-thumb{transform:scale(1.03)}
.aubr-event-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;color:var(--aubr-muted);font-size:.9rem}
.aubr-event-meta-row>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;margin:0!important}
.aubr-event-meta-row i{font-size:1.05em;color:inherit}
.aubr-event-meta-row .aubr-event-availability{font-weight:700;color:#3d3b54}
.aubr-events.has-mask .aubr-image{max-width:100%;box-sizing:border-box}
.aubr-public-back{min-height:38px;padding:0 13px;border:1px solid rgba(61,59,84,.18);border-radius:9px;background:#fff;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.aubr-public-back:hover{background:#f4f3ed;border-color:rgba(61,59,84,.30);text-decoration:none;transform:translateX(-2px)}
@media(max-width:760px){.aubr-event-meta-row{gap:6px 10px;font-size:.84rem}.aubr-public-back{min-height:36px}}

/* 2.0 – privaatkalender */
.aubr-private-calendar-wrap{max-width:980px;margin:36px auto;color:#3d3b54}.aubr-private-calendar-head{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px}.aubr-private-calendar-head h2{margin:0;min-width:220px;text-align:center}.aubr-private-calendar-head button{border:0;background:transparent;color:#3d3b54;font-size:26px;cursor:pointer;padding:6px}.aubr-cal-weekdays,.aubr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.aubr-cal-weekdays{margin-bottom:6px}.aubr-cal-weekdays span{text-align:center;font-size:12px;font-weight:700;opacity:.65}.aubr-cal-day,.aubr-cal-empty{min-height:112px;border-radius:14px;padding:10px;position:relative}.aubr-cal-day{background:#f2f0e7;cursor:default;overflow:hidden}.aubr-cal-day.state-free{background:#dfe8d9;cursor:pointer}.aubr-cal-day.state-partial{background:linear-gradient(135deg,#dfe8d9 0 49%,#d9d6c8 50% 100%);cursor:pointer}.aubr-cal-day.state-closed{background:#d9d6c8}.aubr-cal-day.is-past{opacity:.45;cursor:default}.aubr-cal-num{font-weight:800;font-size:15px}.aubr-cal-state{display:block;margin-top:8px;font-size:12px;font-weight:700}.aubr-cal-public{display:block;margin-top:8px;font-size:11px;line-height:1.25;color:#3d3b54;text-decoration:underline}.aubr-private-cta{text-align:center;margin-top:18px}.aubr-private-cta button,.aubr-private-form>button{border:0;border-radius:999px;background:#3d3b54;color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}.aubr-private-modal[hidden]{display:none}.aubr-private-modal{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:18px}.aubr-private-backdrop{position:absolute;inset:0;background:rgba(31,30,42,.52)}.aubr-private-card{position:relative;z-index:1;width:min(760px,100%);max-height:92vh;overflow:auto;background:#b5b19a;border-radius:22px;padding:28px;color:#3d3b54;box-shadow:0 24px 80px rgba(0,0,0,.2)}.aubr-private-close{position:absolute;right:14px;top:14px;border:0;background:transparent;font-size:24px;color:#3d3b54;cursor:pointer}.aubr-private-card h2{margin:0 36px 8px 0}.aubr-private-card>p{margin:0 0 20px}.aubr-private-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aubr-private-fields label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}.aubr-private-fields input,.aubr-private-fields textarea{width:100%;box-sizing:border-box;border:1px solid rgba(61,59,84,.25);border-radius:10px;background:#fff;padding:10px 11px;color:#3d3b54;font:inherit}.aubr-private-fields .aubr-wide{grid-column:1/-1}.aubr-private-message{min-height:22px;margin:10px 0;font-size:13px;font-weight:700}.aubr-private-message.is-error{color:#9a1c2b}.aubr-private-success{padding:18px;border-radius:14px;background:#f8f7f1;font-weight:700}
@media(max-width:700px){.aubr-cal-day,.aubr-cal-empty{min-height:78px;padding:7px}.aubr-cal-state{font-size:10px}.aubr-cal-public{font-size:9px}.aubr-private-fields{grid-template-columns:1fr}.aubr-private-card{padding:22px 16px}.aubr-cal-weekdays,.aubr-cal-grid{gap:3px}}

/* 2.1 private calendar */
.aubr-private-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.aubr-cal-nav{display:flex;align-items:center;gap:14px}.aubr-cal-view-switch{display:inline-flex;padding:3px;background:#ebe9df;border-radius:999px}.aubr-cal-view-switch button{border:0;background:transparent;border-radius:999px;padding:7px 12px;color:#3d3b54;font-weight:700;cursor:pointer}.aubr-cal-view-switch button.is-active{background:#3d3b54;color:#fff}.aubr-cal-day{background:#eef0e9}.aubr-cal-day.state-free{background:#e3eadc;cursor:pointer}.aubr-cal-day.state-closed{background:repeating-linear-gradient(135deg,#e1dfd7 0,#e1dfd7 7px,#c8c6be 7px,#c8c6be 9px);cursor:not-allowed}.aubr-cal-day.state-partial{background:linear-gradient(135deg,#e3eadc 0 49.5%,transparent 50%),repeating-linear-gradient(135deg,#e1dfd7 0,#e1dfd7 7px,#c8c6be 7px,#c8c6be 9px);cursor:pointer}.aubr-cal-state{display:none!important}.aubr-cal-day.is-past{opacity:.38;cursor:default}.aubr-private-date-field{position:relative}.aubr-private-date-field .aubr-private-date-display{padding-right:42px!important;cursor:pointer}.aubr-open-date-picker{position:absolute!important;right:5px;bottom:5px;width:34px!important;height:34px!important;padding:0!important;border:0!important;background:transparent!important;color:#3d3b54!important}.aubr-private-picker[hidden]{display:none}.aubr-private-picker{grid-column:1/-1;background:#f8f7f1;border-radius:14px;padding:12px}.aubr-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.aubr-picker-head button{border:0;background:transparent;color:#3d3b54;font-size:20px;cursor:pointer}.aubr-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.aubr-picker-grid .aubr-cal-empty{min-height:38px}.aubr-picker-grid .aubr-cal-day{min-height:42px;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px}.aubr-picker-grid .aubr-cal-public{display:none}.aubr-picker-grid .aubr-cal-num{font-size:12px}.aubr-hp{position:absolute!important;left:-10000px!important;opacity:0!important;width:1px!important;height:1px!important}.aubr-private-standalone{display:inline-block}.aubr-private-standalone>.aubr-open-private-form{border:0;border-radius:999px;background:#3d3b54;color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}

/* 2.1.1 – avalike ürituste markerid kalendris */
.aubr-cal-day{isolation:isolate}
.aubr-cal-public-dot{position:relative;z-index:3;display:inline-block;width:14px;height:14px;margin:8px 5px 0 0;padding:0;border:0;border-radius:50%;background:#8f7ca8;box-shadow:0 0 0 2px rgba(255,255,255,.75);cursor:pointer;vertical-align:top}
.aubr-cal-public-dot.is-blocking{background:repeating-linear-gradient(135deg,#765f93 0,#765f93 4px,#b7a9c8 4px,#b7a9c8 7px)}
.aubr-cal-public-dot:hover,.aubr-cal-public-dot:focus-visible{transform:scale(1.18);outline:0;box-shadow:0 0 0 3px rgba(61,59,84,.18)}
.aubr-cal-event-popover[hidden]{display:none}.aubr-cal-event-popover{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}.aubr-cal-event-backdrop{position:absolute;inset:0;background:rgba(31,30,42,.36)}.aubr-cal-event-card{position:relative;z-index:1;width:min(380px,100%);background:#fff;color:#3d3b54;border-radius:18px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.18)}.aubr-cal-event-card h3{margin:0 42px 16px 0;font-size:22px;line-height:1.2}.aubr-cal-event-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#3d3b54;font-size:22px;cursor:pointer}.aubr-cal-event-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#3d3b54;text-decoration:none}.aubr-cal-event-link:hover{text-decoration:underline}

.aubr-picker-grid .aubr-cal-public-dot{display:none}

/* 2.1.2 calendar swipe */
.aubr-private-calendar{touch-action:pan-y;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none}
.aubr-private-calendar.is-loading{pointer-events:none}

/* 2.1.3 – animated calendar, today, full-day public-event interaction */
.aubr-private-calendar{position:relative;overflow:visible}
.aubr-private-calendar.is-dragging-view{overflow:hidden}
.aubr-cal-panel{position:relative;will-change:transform;transform:translate3d(0,0,0)}
.aubr-cal-panel.is-dragging{transition:none!important}
.aubr-cal-panel.is-snapping{transition:transform .26s cubic-bezier(.22,.8,.32,1),opacity .26s ease}
.aubr-cal-day{overflow:visible;transition:transform .18s ease,box-shadow .18s ease;z-index:1}
.aubr-cal-day.is-today{box-shadow:inset 0 0 0 3px #3d3b54}
.aubr-cal-day.is-today .aubr-cal-num{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 5px;margin:-3px 0 0 -3px;border-radius:999px;background:#3d3b54;color:#fff}
.aubr-cal-day.has-public-events{cursor:pointer}
.aubr-cal-day.has-public-events:hover,.aubr-cal-day.has-public-events:focus-visible{z-index:30;outline:0;box-shadow:0 10px 28px rgba(61,59,84,.15),inset 0 0 0 2px rgba(61,59,84,.28)}
.aubr-cal-public-dot{pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .aubr-cal-day.has-public-events::after{content:attr(data-event-tooltip);position:absolute;z-index:100;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,5px);width:max-content;max-width:min(280px,80vw);padding:8px 10px;border-radius:9px;background:#3d3b54;color:#fff;font-size:12px;font-weight:700;line-height:1.3;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:opacity .14s ease,transform .14s ease,visibility .14s}
  .aubr-cal-day.has-public-events:hover::after,.aubr-cal-day.has-public-events:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
}
.aubr-cal-grid{overflow:visible}
.aubr-cal-day.aubr-cal-enter{opacity:0;transform:translateY(10px);animation:aubrCalDayIn .38s cubic-bezier(.2,.75,.3,1) forwards;animation-delay:calc(var(--aubr-i,0) * 34ms)}
@keyframes aubrCalDayIn{to{opacity:1;transform:translateY(0)}}
.aubr-event-item.aubr-event-enter{opacity:0;transform:translateY(14px);animation:aubrEventIn .46s cubic-bezier(.2,.75,.3,1) forwards;animation-delay:calc(var(--aubr-i,0) * 65ms)}
@keyframes aubrEventIn{to{opacity:1;transform:translateY(0)}}
.aubr-cal-event-list{display:grid;gap:10px}.aubr-cal-event-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:11px;background:#ebe9df}.aubr-cal-event-entry strong{font-size:14px;line-height:1.3}.aubr-cal-event-entry a{flex:0 0 auto;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#3d3b54;color:#fff;text-decoration:none;font-size:18px}
.aubr-private-close,.aubr-cal-event-close{display:grid!important;place-items:center;width:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#3d3b54!important;color:#fff!important;font-size:25px!important;font-weight:900!important;line-height:1!important;box-shadow:0 4px 14px rgba(61,59,84,.18)}
.aubr-private-close i,.aubr-cal-event-close i{font-size:27px!important;line-height:1;font-weight:900}
.aubr-private-close:hover,.aubr-cal-event-close:hover{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.aubr-cal-panel,.aubr-cal-day,.aubr-event-item{animation:none!important;transition:none!important}.aubr-cal-day.aubr-cal-enter,.aubr-event-item.aubr-event-enter{opacity:1;transform:none}}


/* 2.1.4 – preserve period on view switch + full-tile public events */
.aubr-cal-public-dot{display:none!important}
.aubr-cal-day.has-public-events:not(.has-blocking-public){
  background:#ddd4e8;
  cursor:pointer;
}
.aubr-cal-day.has-blocking-public{
  background:repeating-linear-gradient(135deg,#c8b9dc 0,#c8b9dc 9px,#a991c4 9px,#a991c4 12px);
  color:#302b3b;
  cursor:pointer;
}
.aubr-cal-day.has-blocking-public.is-past{cursor:pointer}
.aubr-cal-day.has-public-events:hover,.aubr-cal-day.has-public-events:focus-visible{
  box-shadow:0 10px 28px rgba(61,59,84,.18),inset 0 0 0 2px rgba(61,59,84,.34);
}
.aubr-private-picker .aubr-cal-day.has-public-events:not(.has-blocking-public){background:#ddd4e8}
.aubr-private-picker .aubr-cal-day.has-blocking-public{background:repeating-linear-gradient(135deg,#c8b9dc 0,#c8b9dc 7px,#a991c4 7px,#a991c4 10px)}

/* v2.1.6: calendar days are native buttons so click/tap remains reliable beside swipe gestures. */
button.aubr-cal-day{appearance:none;-webkit-appearance:none;border:0;font:inherit;color:inherit;text-align:left;width:100%;margin:0;box-sizing:border-box}
button.aubr-cal-day:focus-visible{outline:3px solid rgba(61,59,84,.45);outline-offset:2px}


/* 2.1.7 – cleaner public event meta + calendar public-event popup link */
.aubr-event-meta-row{display:grid;gap:4px;margin:0 0 10px;color:var(--aubr-muted);font-size:.9rem}
.aubr-event-meta-row>span,.aubr-event-meta-row .aubr-event-datetime{margin:0!important}
.aubr-event-datetime{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.aubr-event-date,.aubr-event-time{display:inline!important;color:inherit;font-size:inherit;font-weight:500;white-space:nowrap}
.aubr-event-date::after{content:"·";margin-left:8px;opacity:.6}
.aubr-event-datetime .aubr-event-time:only-child{margin-left:0}
.aubr-event-datetime .aubr-event-date:only-child::after{display:none}
.aubr-event-meta-row .aubr-event-availability{display:block;font-size:.84rem;font-weight:650;color:#3d3b54;line-height:1.35}
.aubr-event-meta-row i{display:none!important}
.aubr-cal-event-entry a{width:auto;height:auto;border-radius:0;background:transparent!important;color:#3d3b54!important;font-size:22px;padding:6px;text-decoration:none;box-shadow:none!important}
.aubr-cal-event-entry a:hover{transform:translateX(2px)}
.aubr-cal-event-entry a i{font-size:22px}

/* 2.1.8 – single page polish, unified public forms and Elementor list controls */
.aubr-book-now{
  min-height:48px;
  height:auto;
  padding:12px 24px;
  border-radius:12px;
  font-size:16px;
  font-weight:800;
}
.aubr-book-now i{font-size:20px}
.aubr-single-gallery a{border-radius:16px;overflow:hidden}
.aubr-single-gallery img{border-radius:inherit}

/* Public form fields use one visual language. */
.aubr-booking-form input,
.aubr-booking-form select,
.aubr-booking-form textarea,
.aubr-private-form input,
.aubr-private-form select,
.aubr-private-form textarea{
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(61,59,84,.24);
  border-radius:12px;
  background:#fff;
  color:#3d3b54;
  font:inherit;
  outline:0;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.aubr-booking-form textarea,.aubr-private-form textarea{min-height:88px;resize:vertical}
.aubr-booking-form input:focus,
.aubr-booking-form select:focus,
.aubr-booking-form textarea:focus,
.aubr-private-form input:focus,
.aubr-private-form select:focus,
.aubr-private-form textarea:focus{
  border-color:#3d3b54;
  box-shadow:0 0 0 3px rgba(61,59,84,.10);
}
.aubr-booking-form button[type=submit],
.aubr-private-form>button[type=submit]{
  min-height:44px;
  padding:10px 18px;
  border:0;
  border-radius:12px;
  background:#3d3b54;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

/* Elementor list elements can be positioned independently. */
.aubr-event-item{position:relative}
.aubr-event-body{position:relative;min-width:0}
.aubr-event-title,.aubr-event-datetime,.aubr-event-availability,.aubr-event-description,.aubr-event-bottom{
  box-sizing:border-box;
  transition:color .2s ease,background-color .2s ease,transform .2s ease;
}
.aubr-event-title a,.aubr-event-bottom a{color:inherit}

/* Image fit must also work when a mask is active. */
.aubr-event-thumb{
  object-fit:var(--aubr-image-fit,cover)!important;
  object-position:var(--aubr-image-position,center center)!important;
}
.aubr-event-item:hover .aubr-event-thumb{transform:scale(var(--aubr-hover-scale,1.03))}
.aubr-events.has-mask .aubr-event-thumb{
  object-fit:var(--aubr-image-fit,cover)!important;
  object-position:var(--aubr-image-position,center center)!important;
}
.aubr-events.has-mask .aubr-image{max-width:none}
.aubr-event-thumb-fallback{
  object-fit:contain!important;
  object-position:center!important;
  padding:12%;
  background:#ebe9df;
}


/* 2.2.1 – clearer private-calendar availability */
.aubr-cal-day{display:block;box-sizing:border-box;text-align:left;align-content:start}
.aubr-cal-day .aubr-cal-num{position:relative;top:auto;left:auto;margin:0}
.aubr-cal-day.state-free:not(.has-public-events){background:#dcebd8}
.aubr-cal-day.state-closed:not(.has-public-events){
  background:repeating-linear-gradient(135deg,#f2dddd 0,#f2dddd 8px,#dfbfc1 8px,#dfbfc1 11px);
  color:#6f3c42;
}
.aubr-cal-day.state-partial:not(.has-public-events){
  background:linear-gradient(135deg,#dcebd8 0 49.5%,transparent 50%),repeating-linear-gradient(135deg,#f2dddd 0,#f2dddd 8px,#dfbfc1 8px,#dfbfc1 11px);
}
.aubr-private-picker .aubr-cal-day.state-free:not(.has-public-events){background:#dcebd8}
.aubr-private-picker .aubr-cal-day.state-closed:not(.has-public-events){background:repeating-linear-gradient(135deg,#f2dddd 0,#f2dddd 6px,#dfbfc1 6px,#dfbfc1 9px)}


/* 2.3.0 – admin calendar details */
.aubr-cal-admin-summary{display:grid;gap:3px;margin-top:8px;text-align:left;font-size:10px;line-height:1.2;font-weight:700;position:relative;z-index:2}
.aubr-cal-admin-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aubr-cal-day.has-private-events:not(.has-public-events):not(.is-excluded){background:#dcebd8}
.aubr-cal-day.is-excluded:not(.has-public-events){background:repeating-linear-gradient(135deg,#f2dddd 0,#f2dddd 8px,#dfbfc1 8px,#dfbfc1 11px);color:#6f3c42}
.aubr-cal-event-text{display:grid;gap:3px;min-width:0;text-align:left}
.aubr-cal-event-text strong{overflow-wrap:anywhere}
.aubr-cal-event-text small{font-size:12px;opacity:.65;font-weight:700}
.aubr-cal-event-entry.is-blocked{background:#f2dddd;color:#6f3c42}
.aubr-cal-event-entry.is-private{background:#e3eedf}
@media(max-width:760px){.aubr-cal-admin-summary{display:none}}


/* 2.3.1 – admin calendar popup action */
.aubr-cal-add-private{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:4px;padding:11px 14px;border-radius:11px;
  background:#3d3b54;color:#fff!important;text-decoration:none!important;
  font-weight:800;font-size:14px;
}
.aubr-cal-add-private i{font-size:18px}
.aubr-cal-add-private:hover{transform:translateY(-1px)}


/* 2.7.0 – public multi-date event */
.aubr-occurrence-list{margin:18px 0 6px}
.aubr-occurrence-list h2{margin:0 0 10px;font-size:18px}
.aubr-occurrence-public-rows{display:grid;gap:6px}
.aubr-occurrence-public-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(130px,.8fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;background:#f0eee6}
.aubr-occurrence-public-row>span{display:flex;align-items:center;gap:7px}
.aubr-occurrence-public-row i{opacity:.58}
.aubr-occurrence-free{justify-self:end;font-size:12px;font-weight:800}
.aubr-booking-form select[name="occurrence_key"]{width:100%;min-height:48px;padding:9px 12px;border:1px solid #cbc8bc;border-radius:12px;background:#fff;color:#3d3b54;font:inherit}
@media(max-width:620px){
  .aubr-occurrence-public-row{grid-template-columns:1fr auto}
  .aubr-occurrence-public-row>span:nth-child(2){grid-column:1}
  .aubr-occurrence-free{grid-column:2;grid-row:1/3}
}


/* 2.7.1 – booking form palette */
.aubr-form-wrap,
.aubr-private-modal .aubr-private-card{
  background:#011640 !important;
  color:#fff !important;
}
.aubr-form-wrap h2,
.aubr-form-wrap h2 span,
.aubr-form-wrap label,
.aubr-form-wrap .aubr-availability,
.aubr-form-wrap .aubr-form-message,
.aubr-private-modal .aubr-private-card h2,
.aubr-private-modal .aubr-private-card p,
.aubr-private-modal .aubr-private-card label,
.aubr-private-modal .aubr-private-message{
  color:#fff !important;
}
.aubr-form-wrap button[type="submit"],
.aubr-private-modal .aubr-private-form button[type="submit"]{
  background:#4C754A !important;
  color:#fff !important;
  border-color:#4C754A !important;
}
.aubr-form-wrap input,
.aubr-form-wrap textarea,
.aubr-form-wrap select,
.aubr-private-modal .aubr-private-form input,
.aubr-private-modal .aubr-private-form textarea,
.aubr-private-modal .aubr-private-form select{
  background:#fff;
  color:#011640;
}
.aubr-back-to-events-wrap{margin:24px 0 6px}
.aubr-back-to-events{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  font-weight:700;
}


/* 2.7.2 – private request success */
.aubr-private-success {
  padding: 18px;
  border-radius: 14px;
  background: transparent;
  font-weight: 700;
}


.aubr-cal-event-link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.aubr-cal-event-link:hover{
  text-decoration:none;
}
.aubr-cal-event-arrow{
  margin-left:auto;
  flex:0 0 auto;
}
