/* Banja Luka landing: scoped luxury editorial UI. */
.bosanke-banja-luka-page #primary.bl-landing{width:100%;float:none;margin:0;padding:0}.bosanke-banja-luka-page #content>.container{display:block}.bl-landing{--bl-blue:#071b48;--bl-blue-2:#123a78;--bl-gold:#f4c742;--bl-gold-2:#ffe58a;--bl-ink:#11172a;--bl-muted:#61697a;--bl-ivory:#faf8f2;--bl-line:#dfe3ea;color:var(--bl-ink)}.bl-landing *,.bl-landing *:before,.bl-landing *:after{box-sizing:border-box}.bl-landing #main{margin:0}.bl-landing h1,.bl-landing h2,.bl-landing h3{font-family:var(--secondary-font,Georgia,serif);color:var(--bl-ink);font-weight:600;letter-spacing:-.035em;line-height:1.12}.bl-landing h2{font-size:clamp(1.8rem,3vw,2.75rem);margin:0 0 1rem}.bl-landing h3{font-size:1.25rem;margin:0 0 .7rem}.bl-landing p{font-size:1rem;line-height:1.75;margin:0 0 1rem}.bl-landing a{color:inherit;text-underline-offset:4px}.bl-landing [id]{scroll-margin-top:2rem}.bl-landing a:focus-visible,.bl-landing button:focus-visible,.bl-landing select:focus-visible,.bl-landing summary:focus-visible{outline:3px solid var(--bl-gold);outline-offset:4px}.bl-breadcrumb{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:1.35rem 0;color:var(--bl-muted);font-size:.875rem}.bl-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,7vw,6.5rem) clamp(1.5rem,5vw,5rem);margin:0 calc(50% - 50vw);color:white;background:radial-gradient(circle at 18% 15%,#1c4a8c 0,transparent 34%),linear-gradient(125deg,#061536 0%,#091f51 58%,#120f2c 100%);overflow:hidden}.bl-hero:before{content:"BL";position:absolute;right:30%;bottom:-.22em;color:#fff;font:600 clamp(10rem,27vw,28rem)/1 var(--secondary-font,Georgia,serif);opacity:.035;pointer-events:none}.bl-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#f4c742 1.3px,transparent 1.5px);background-size:34px 34px;opacity:.12;pointer-events:none}.bl-hero>*{position:relative;z-index:1}.bl-hero h1{max-width:12ch;margin:0 0 1.35rem;color:white;font-size:clamp(3rem,6vw,6.1rem)}.bl-landing .bl-eyebrow{margin:0 0 1rem;color:inherit;font:700 .76rem/1.5 var(--primary-font,Arial,sans-serif);letter-spacing:.13em}.bl-eyebrow span{padding:0 .35rem;color:var(--bl-gold)}.bl-landing .bl-lead{max-width:58ch;color:#e8ebf3;font-size:1.15rem}.bl-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin:1.7rem 0}.bl-landing .bl-button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:50px;padding:.8rem 1.25rem;border:1px solid transparent;border-radius:3px;font:700 .92rem/1.35 var(--primary-font,Arial,sans-serif);text-decoration:none;text-transform:none;letter-spacing:.01em;cursor:pointer;box-shadow:none;transition:transform .18s ease,background .18s ease}.bl-landing .bl-button:hover{transform:translateY(-2px)}.bl-button-gold{background:linear-gradient(135deg,var(--bl-gold-2),var(--bl-gold));color:#111b35}.bl-button-blue{background:var(--bl-blue);color:white}.bl-landing .bl-button-blue:hover{background:var(--bl-blue-2);color:white}.bl-text-link{font-size:.9rem;font-weight:700}.bl-hero .bl-text-link{color:white}.bl-landing .bl-disclosure{max-width:66ch;margin-bottom:0;color:#bdc5d7;font-size:.82rem}.bl-service-card{padding:2rem;border:1px solid #ffffff35;border-top:4px solid var(--bl-gold);background:#ffffff0d;box-shadow:0 22px 70px #0005;backdrop-filter:blur(8px)}.bl-service-card h2{color:white;font-size:clamp(1.55rem,2.7vw,2.25rem)}.bl-card-kicker{color:var(--bl-gold-2);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.bl-city-mark{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.6rem;border-bottom:1px solid #ffffff30;padding-bottom:1rem}.bl-city-mark span{color:var(--bl-gold);font:600 3.7rem/.8 var(--secondary-font,Georgia,serif);letter-spacing:-.08em}.bl-city-mark small{color:#cdd4e3;letter-spacing:.08em}.bl-price{font:600 2.6rem/1.1 var(--secondary-font,Georgia,serif)}.bl-price span{display:block;margin-top:.4rem;color:#cdd4e3;font:400 .82rem/1.5 var(--primary-font,Arial,sans-serif)}.bl-number{border-top:1px solid #ffffff30;padding-top:1rem;color:#d8dfec}.bl-number strong{display:block;color:white;font-size:1.3rem;letter-spacing:.06em}.bl-trust{display:grid;grid-template-columns:repeat(4,1fr);margin:0 calc(50% - 50vw);padding:1.25rem max(calc((100vw - 1290px)/2),1.5rem);border-bottom:1px solid var(--bl-line);background:var(--bl-ivory)}.bl-trust p{margin:0;padding:.3rem 1.5rem;border-right:1px solid #d8d5cc}.bl-trust p:last-child{border-right:0}.bl-trust strong,.bl-trust span{display:block}.bl-trust strong{font:600 1.1rem/1.35 var(--secondary-font,Georgia,serif)}.bl-trust span{color:var(--bl-muted);font-size:.78rem}.bl-profiles{padding:4rem 0}.bl-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.bl-section-heading h2{margin:0}.bl-section-heading .bl-eyebrow{color:var(--bl-blue-2);margin-bottom:.55rem}.bl-surprise{border:0;border-bottom:1px solid var(--bl-ink);padding:.5rem 0;background:transparent;color:var(--bl-ink);font:700 .9rem/1.4 var(--primary-font,Arial,sans-serif);cursor:pointer}.bl-sort{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0 0 2rem;padding:1rem 1.2rem;background:#f4f6f9;border-left:3px solid var(--bl-gold)}.bl-sort label{font-size:.85rem;font-weight:700}.bl-sort select{min-height:46px;padding:.5rem 2rem .5rem .8rem;border:1px solid #aeb6c6;background:white;color:var(--bl-ink);font:400 .95rem/1.3 var(--primary-font,Arial,sans-serif)}.bl-sort .bl-button{min-height:46px}.bl-sort>a{font-size:.85rem}.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.bl-landing #main .bl-profile{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--bl-line);border-radius:3px;background:white;box-shadow:0 10px 34px #071b4809;transition:transform .2s ease,box-shadow .2s ease}.bl-landing #main .bl-profile:hover{transform:translateY(-4px);box-shadow:0 18px 44px #071b4818}.bl-photo{display:block;width:100%;aspect-ratio:4/4.3;overflow:hidden;background:#e9edf4;text-decoration:none}.bl-photo img{display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center 22%;transition:transform .35s ease}.bl-profile:hover .bl-photo img{transform:scale(1.025)}.bl-photo .bm-monogram{background:linear-gradient(145deg,#eef2f9,#d9e1ef);color:var(--bl-blue-2)}.bl-profile-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:1.25rem}.bl-profile-meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--bl-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.bl-profile-meta span:first-child{color:var(--bl-blue-2);font-weight:700}.bl-profile h3 a{text-decoration:none;overflow-wrap:anywhere}.bl-profile h3 a:hover{text-decoration:underline}.bl-excerpt{display:-webkit-box;margin-bottom:1.25rem;color:var(--bl-muted);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.bl-contact{width:100%;margin-top:auto}.bl-pagination{margin:2.5rem 0 0}.bl-pagination ul{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}.bl-pagination li{margin:0}.bl-pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.45rem .75rem;border:1px solid var(--bl-line);text-decoration:none}.bl-pagination ul.page-numbers{padding:0;border:0}.bl-pagination .current{border-color:var(--bl-blue);background:var(--bl-blue);color:white}.bl-empty{padding:3rem;text-align:center;background:var(--bl-ivory)}.bl-how{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:4rem;margin:0 calc(50% - 50vw);padding:4.5rem max(calc((100vw - 1290px)/2),1.5rem);background:var(--bl-ivory)}.bl-how>div .bl-eyebrow{color:var(--bl-blue-2)}.bl-how>div>p:last-child{color:var(--bl-muted)}.bl-how ol{margin:0;padding:0;list-style:none}.bl-how li{display:grid;grid-template-columns:60px 1fr;gap:1.1rem;padding:1.15rem 0;border-bottom:1px solid #d8d5cc}.bl-how li:first-child{padding-top:0}.bl-how li>span{color:var(--bl-blue-2);font:600 1.6rem/1 var(--secondary-font,Georgia,serif)}.bl-how li p{margin:0;color:var(--bl-muted)}.bl-editorial{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.55fr);gap:clamp(2.5rem,7vw,7rem);padding:5rem 0;border-bottom:1px solid var(--bl-line)}.bl-editorial aside{position:relative}.bl-editorial aside:before{content:"";display:block;width:42px;height:5px;margin-bottom:1.5rem;background:var(--bl-gold)}.bl-editorial aside .bl-eyebrow{color:var(--bl-blue-2)}.bl-aside-note{color:var(--bl-muted)}.bl-copy p{margin-bottom:1.35rem}.bl-copy h3{margin-top:2rem;font-size:1.45rem}.bl-faq{max-width:920px;margin:0 auto;padding:4.5rem 0}.bl-faq>.bl-eyebrow{color:var(--bl-blue-2)}.bl-faq details{padding:1rem 0;border-bottom:1px solid var(--bl-line)}.bl-faq summary{padding:.35rem 2rem .35rem 0;font-size:1.05rem;font-weight:700;line-height:1.55;cursor:pointer}.bl-faq details p{margin:.8rem 0 .3rem;color:var(--bl-muted)}.bl-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin:0 calc(50% - 50vw);padding:3rem max(calc((100vw - 1290px)/2),1.5rem);background:var(--bl-blue);color:white}.bl-bottom h2{color:white}.bl-bottom p{margin-bottom:0;color:#cfd7e7}.bl-bottom .bl-eyebrow{color:var(--bl-gold)}.bl-dialog{width:min(530px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:2rem;overflow-y:auto;border:0;border-top:5px solid var(--bl-gold);border-radius:3px;background:white;color:var(--bl-ink);box-shadow:0 22px 90px #0007}.bl-dialog:not([open]){display:none}.bl-dialog::backdrop{background:#061536cc}.bl-dialog-close{position:absolute;top:.4rem;right:.5rem;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--bl-ink);font:400 2rem/1 sans-serif;cursor:pointer}.bl-dialog h2{padding-right:2rem}.bl-dialog .bl-eyebrow{color:var(--bl-blue-2)}.bl-dialog-name{font-weight:700}.bl-dialog dl{margin:1rem 0}.bl-dialog dl div{padding:.8rem 0;border-bottom:1px solid var(--bl-line)}.bl-dialog dt{color:var(--bl-muted);font-size:.8rem}.bl-dialog dd{margin:.2rem 0 0;font-size:1.2rem;font-weight:700}.bl-dialog .bl-send{width:100%;margin:.5rem 0 1rem}.bl-dialog-links{display:flex;gap:.7rem 1.3rem;flex-wrap:wrap;font-size:.85rem}.bl-small{font-size:.85rem}.bl-dialog .bl-small{color:var(--bl-muted)}
@media(max-width:1000px){.bl-hero{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:2rem}.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-how,.bl-editorial{gap:2.5rem}}
@media(max-width:720px){.bl-hero{grid-template-columns:1fr;padding-top:3rem}.bl-hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.bl-service-card{padding:1.5rem}.bl-trust{grid-template-columns:repeat(2,1fr)}.bl-trust p:nth-child(2){border-right:0}.bl-trust p:nth-child(-n+2){border-bottom:1px solid #d8d5cc}.bl-section-heading{align-items:flex-start;flex-direction:column;gap:.8rem}.bl-sort{align-items:stretch}.bl-sort label{width:100%}.bl-sort select{flex:1}.bl-how,.bl-editorial{grid-template-columns:1fr}.bl-how{gap:1.7rem}.bl-editorial{padding:3.5rem 0}.bl-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.bl-grid{grid-template-columns:1fr}.bl-photo{aspect-ratio:4/3.6}.bl-trust p{padding:.45rem .8rem}.bl-sort select,.bl-sort .bl-button{width:100%}.bl-how li{grid-template-columns:46px 1fr}.bl-dialog{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.bl-landing .bl-button,.bl-landing #main .bl-profile,.bl-photo img{transition:none;transform:none}}

/* Vilva/Yummy Recipe assigns link colors with a stronger selector. Keep all
   dark landing buttons readable in normal, visited, hover and focus states. */
.bl-landing a.bl-button-blue,
.bl-landing a.bl-button-blue:visited,
.bl-landing a.bl-button-blue:hover,
.bl-landing a.bl-button-blue:focus,
.bl-landing button.bl-button-blue,
.bl-landing button.bl-button-blue:hover,
.bl-landing button.bl-button-blue:focus,
.bl-landing .bl-button-blue span {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}

.bl-profile-actions {
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    gap: .65rem;
    margin-top: auto;
}

.bl-profile-actions .bl-button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: .72rem .7rem;
    font-size: .82rem;
    white-space: nowrap;
}
.bl-profile-actions button.bl-button {
    margin: 0;
    border-radius: 3px;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: .01em;
}
.bl-profile-actions button.bl-button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.bl-landing a.bl-button-outline,
.bl-landing a.bl-button-outline:visited {
    border-color: var(--bl-blue);
    background: #fff;
    color: var(--bl-blue) !important;
    -webkit-text-fill-color: var(--bl-blue);
}

.bl-landing a.bl-button-outline:hover,
.bl-landing a.bl-button-outline:focus {
    border-color: var(--bl-blue);
    background: #edf2fa;
    color: var(--bl-blue) !important;
    -webkit-text-fill-color: var(--bl-blue);
}

@media(max-width: 370px) {
    .bl-profile-actions { grid-template-columns: 1fr; }
}

/* Custom modal: independent of native <dialog> support and optimization plugins. */
body.bl-modal-open { overflow: hidden; }
.bl-dialog[hidden] { display: none !important; }
.bl-dialog {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 1rem;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: rgba(6, 21, 54, .84);
    box-shadow: none;
}
/* Override the legacy native-dialog rule left earlier in this stylesheet. */
.bl-dialog:not([open]):not([hidden]) { display: flex; }
.bl-dialog-panel {
    position: relative;
    width: min(530px, 100%);
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 2rem;
    overflow-y: auto;
    border-top: 5px solid var(--bl-gold);
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 22px 90px rgba(0, 0, 0, .5);
}
@media(max-width: 520px) {
    .bl-dialog-panel { padding: 1.5rem; }
}

.bl-dialog-service-info {
    margin: 1rem 0;
    padding: 1rem;
    border-left: 3px solid var(--bl-gold);
    background: var(--bl-ivory);
}
.bl-dialog-service-info p {
    margin: 0 0 .45rem;
    color: var(--bl-muted);
    font-size: .88rem;
    line-height: 1.55;
}
.bl-dialog-service-info p:last-child { margin-bottom: 0; }
.bl-dialog-service-info strong { color: var(--bl-ink); }
