.bulletdots{--bd-card:#fff;--bd-text:#252525;--bd-title:#111;--bd-price:#d97706;--bd-button:#111;--bd-button-text:#fff;--bd-dot:#111;--bd-active:#d97706;--bd-tab:#111;--bd-tab-text:#fff;--bd-radius:18px;--bd-card-width:600px;--bd-card-height:auto;--bd-card-min-height:0px;width:var(--bd-width-desktop,100%);max-width:min(100%,100vw,var(--bd-max-width-desktop,100vw));min-width:0;margin-inline:auto;color:var(--bd-text)}
.bulletdots,.bulletdots *{box-sizing:border-box}
.bulletdots [hidden]{display:none!important}
.bulletdots button{font-family:inherit;cursor:pointer}
.bulletdots button:focus-visible,.bulletdots a:focus-visible{outline:2px solid var(--bd-active);outline-offset:3px}
.bulletdots .bd-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.bulletdots .bd-tab{appearance:none;border:1px solid color-mix(in srgb,var(--bd-tab) 20%,transparent);border-radius:999px;background:transparent;color:var(--bd-tab);font:inherit;font-weight:650;padding:10px 22px}
.bulletdots .bd-tab:hover,.bulletdots .bd-tab.is-active{background:var(--bd-tab);color:var(--bd-tab-text)}
.bulletdots .bd-map-area{position:relative;isolation:isolate;min-width:0}
.bulletdots .bd-stage{position:relative;overflow:hidden;border-radius:var(--bd-radius)}
.bulletdots .bd-image{display:block;width:100%;max-width:100%;height:auto;margin:0}
.bulletdots .bd-lines,.bulletdots .bd-mobile-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.bulletdots .bd-lines line,.bulletdots .bd-mobile-lines line{stroke:var(--bd-dot);stroke-width:1;stroke-linecap:butt;vector-effect:non-scaling-stroke}
.bulletdots .bd-lines line.is-active,.bulletdots .bd-mobile-lines line.is-active{stroke:var(--bd-active);stroke-width:2;opacity:1}
.bulletdots .bd-dot,.bulletdots .bd-label{position:absolute;z-index:3;transform:translate(-50%,-50%)}
.bulletdots .bd-dot{width:26px;height:26px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.bulletdots .bd-dot span,.bulletdots .bd-menu-dot span{display:block;width:10px;height:10px;border-radius:50%;background:var(--bd-dot);box-shadow:0 0 0 3px var(--bd-card)}
.bulletdots .bd-dot.is-active span,.bulletdots .bd-menu-dot.is-active span{background:var(--bd-active)}
.bulletdots .bd-label{appearance:none;border:0;border-radius:999px;background:var(--bd-button);color:var(--bd-button-text);padding:7px 13px;font:inherit;font-size:clamp(11px,1.3vw,15px);font-weight:700;line-height:1.1;white-space:nowrap;box-shadow:0 3px 10px #0002}
.bulletdots .bd-label.is-active{box-shadow:0 0 0 2px var(--bd-active)}
.bulletdots .bd-popover,.bulletdots .bd-mobile-card{--bd-card-width:var(--bd-card-width-desktop,600px);--bd-card-height:var(--bd-card-height-desktop,auto);--bd-card-min-height:var(--bd-card-min-height-desktop,0px)}
.bulletdots .bd-popover{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--bd-card-width);max-width:100%;height:var(--bd-card-height);max-height:min(calc(100% - 24px),80vh);display:flex;flex-direction:column;overflow:hidden;background:var(--bd-card);color:var(--bd-text);border-radius:var(--bd-radius);box-shadow:0 20px 60px #0005}
.bulletdots .bd-popover-header{display:flex;justify-content:flex-end;flex:none;padding:12px 12px 0}
.bulletdots .bd-close{appearance:none;position:static;display:grid;place-items:center;flex:none;margin:0;padding:0;width:38px;height:38px;min-height:0;border:0;border-radius:50%;background:var(--bd-button);color:var(--bd-button-text);line-height:1}
.bulletdots .bd-close svg{display:block;width:20px;height:20px;margin:0;transform:none}
.bulletdots .bd-popover-content{min-height:0;overflow:auto;padding:12px 28px 28px;overscroll-behavior:contain}
.bulletdots article{width:100%;max-width:none;margin:0;overflow-wrap:anywhere}
.bulletdots h3{color:var(--bd-title);font-size:clamp(24px,3vw,40px);line-height:1.1;margin:0 0 10px}
.bulletdots .bd-price{color:var(--bd-price);font-size:var(--bd-price-size,22px);font-weight:var(--bd-price-weight,700);margin-bottom:14px}
.bulletdots .bd-contact{display:grid;gap:8px;margin:4px 0 16px;font-style:normal}
.bulletdots .bd-contact-person{display:grid;gap:2px;margin-bottom:2px}
.bulletdots .bd-contact-person strong{color:var(--bd-title);font-size:1.05em;line-height:1.3}
.bulletdots .bd-contact-person span{line-height:1.4}
.bulletdots .bd-contact-row{display:flex;align-items:flex-start;gap:9px;min-width:0;line-height:1.45;color:var(--bd-text);text-decoration:none}
.bulletdots .bd-contact-row svg{flex:0 0 19px;width:19px;height:19px;margin-top:1px;color:var(--bd-active)}
.bulletdots .bd-contact-row span{min-width:0;overflow-wrap:anywhere}
.bulletdots .bd-contact-link:hover{text-decoration:underline;text-underline-offset:3px}
.bulletdots .bd-description p:first-child{margin-top:0}
.bulletdots .bd-description img{max-width:100%;height:auto}
.bulletdots .bd-button{display:inline-block;margin-top:12px;padding:11px 20px;border-radius:999px;background:var(--bd-button);color:var(--bd-button-text)!important;text-decoration:none;font-weight:700}
.bulletdots .bd-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.bulletdots .bd-actions .bd-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:0;text-align:center;line-height:1.25}
.bulletdots .bd-button--secondary{border:2px solid var(--bd-button);background:transparent;color:var(--bd-button)!important}
.bulletdots .bd-button--tertiary{border:0;background:transparent;color:var(--bd-button)!important;text-decoration:underline;text-underline-offset:4px;padding-inline:8px}
.bulletdots .bd-mobile-card,.bulletdots .bd-dot-menu,.bulletdots .bd-mobile-lines{display:none}
@media(min-width:768px) and (max-width:1024px){
 .bulletdots{width:var(--bd-width-tablet,100%);max-width:min(100%,100vw,var(--bd-max-width-tablet,100vw))}
 .bulletdots .bd-popover,.bulletdots .bd-mobile-card{--bd-card-width:var(--bd-card-width-tablet,600px);--bd-card-height:var(--bd-card-height-tablet,auto);--bd-card-min-height:var(--bd-card-min-height-tablet,0px)}
}
@media(max-width:767px){
 .bulletdots{width:var(--bd-width-mobile,100%);max-width:min(100%,100vw,var(--bd-max-width-mobile,100vw))}
 .bulletdots .bd-popover,.bulletdots .bd-mobile-card{--bd-card-width:var(--bd-card-width-mobile,100%);--bd-card-height:var(--bd-card-height-mobile,auto);--bd-card-min-height:var(--bd-card-min-height-mobile,0px)}
 .bulletdots .bd-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px}
 .bulletdots .bd-tab{flex:0 0 auto;padding:9px 17px}
 .bulletdots .bd-stage .bd-dot,.bulletdots .bd-label,.bulletdots .bd-lines,.bulletdots .bd-popover{display:none!important}
 .bulletdots .bd-mobile-lines{display:block;overflow:hidden}
 .bulletdots .bd-mobile-lines line{opacity:.35}
 .bulletdots .bd-mobile-lines line.is-active{opacity:1}
 .bulletdots .bd-dot-menu{display:flex;position:relative;gap:var(--bd-menu-gap,0px);overflow:visible;flex-wrap:nowrap;padding:6px 0;margin:0;min-height:56px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .bulletdots .bd-menu-dot{position:relative;z-index:3;flex:1 1 0;max-width:none;min-width:0;width:0;height:44px;display:grid;place-items:center;appearance:none;border:0;background:transparent;padding:0;margin:0}
 .bulletdots .bd-menu-dot span{width:var(--bd-menu-size,13px);height:var(--bd-menu-size,13px);box-shadow:0 0 0 var(--bd-menu-ring,2px) var(--bd-card)}
 .bulletdots .bd-menu-dot.is-active span{box-shadow:0 0 0 var(--bd-menu-ring,2px) var(--bd-card),0 0 0 calc(var(--bd-menu-ring,2px) * 2) var(--bd-active)}
 .bulletdots .bd-mobile-card{display:block;width:var(--bd-card-width);max-width:100%;min-height:var(--bd-card-min-height);height:auto;margin:12px auto 0;padding:22px;background:var(--bd-card);border-radius:var(--bd-radius);box-shadow:0 10px 30px #00000014}
 .bulletdots .bd-contact-link{min-height:44px;align-items:center;padding:6px 0}
 .bulletdots .bd-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:9px}
 .bulletdots .bd-actions .bd-button{width:100%;min-width:0;padding:12px 16px}
 .bulletdots h3{font-size:24px}
}
.bulletdots .bd-panel.bd-no-labels .bd-label,.bulletdots .bd-panel.bd-no-labels .bd-lines{display:none}

/* 1.2: intrinsic-size containment, responsive card media and mobile navigation. */
.bulletdots{overflow-x:clip}
.bulletdots .bd-panel,.bulletdots .bd-map-area,.bulletdots .bd-stage,.bulletdots article,.bulletdots .bd-card-text{min-width:0;max-width:100%}
.bulletdots .bd-card-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}
.bulletdots .bd-card-layout.bd-has-image{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.bulletdots .bd-card-media{min-width:0;align-self:start}
.bulletdots .bd-card-media img{display:block;width:100%;max-width:100%;height:auto;border-radius:var(--bd-image-radius,9px)}
.bulletdots .bd-description{min-width:0;max-width:100%;overflow-wrap:anywhere;overflow-x:auto}
.bulletdots .bd-description :where(img,video,iframe,table){max-width:100%}
.bulletdots .bd-description pre{white-space:pre-wrap;overflow-wrap:anywhere}
.bulletdots .bd-button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:767px){
 .bulletdots{width:min(var(--bd-width-mobile,100%),100%);max-width:min(100%,100vw,var(--bd-max-width-mobile,100vw))}
 .bulletdots .bd-tabs{flex-wrap:wrap;overflow:visible;max-width:100%}
 .bulletdots .bd-tab{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .bulletdots .bd-dot-menu{display:grid;grid-template-columns:repeat(var(--bd-menu-columns,6),minmax(0,1fr));gap:6px clamp(2px,1vw,10px);width:100%;max-width:100%;padding:8px 4px}
 .bulletdots .bd-menu-dot{width:100%;min-width:0;height:44px}
 .bulletdots .bd-mobile-card{width:min(var(--bd-card-width),100%);max-width:100%;min-width:0;padding:clamp(12px,4vw,22px)}
 .bulletdots .bd-card-layout.bd-has-image{grid-template-columns:minmax(0,1fr)}
 .bulletdots .bd-card-media{grid-row:1}
 .bulletdots[data-mobile-mode="dots"] .bd-stage .bd-dot{display:grid!important;width:24px;height:24px}
 .bulletdots[data-mobile-mode="dots"] .bd-mobile-lines{display:none!important}
 .bulletdots[data-mobile-mode="dots"] .bd-dot.is-active span{box-shadow:0 0 0 3px var(--bd-card),0 0 0 6px var(--bd-active);width:14px;height:14px}
}
