/* Kiskadoo Promotional Sections - front/admin preview support
   Keep this light. Output should use Kiskadoo theme-native wrappers/classes. */

.kiska-promo-zone { position: relative; }
.kiska-promo-section { position: relative; margin: 0; }
.kiska-promo-band { background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Safety padding for generated promo bands. */
.kiska-promo-band > .container { padding-top: 30px; padding-bottom: 30px; }
.kiska-promo-band .row + .row { margin-top: 1rem; }
.kiska-promo-intro p:last-child { margin-bottom: 1rem; }
.kiska-promo-photo-banner-content { padding-top: 4rem; padding-bottom: 4rem; }

.kiska-promo-text-light,
.kiska-promo-text-light h1,
.kiska-promo-text-light h2,
.kiska-promo-text-light h3,
.kiska-promo-text-light h4,
.kiska-promo-text-light h5,
.kiska-promo-text-light h6,
.kiska-promo-text-light p,
.kiska-promo-text-light a:not(.btn) { color: #fff !important; }

.kiska-promo-bg-style-theme_tint { background-color: var(--kiska-soft-1,#f5f8fa); }
.kiska-promo-bg-style-theme_soft { background-color: var(--kiska-soft-2,#d7e7fc); }
.kiska-promo-bg-style-theme_strong { background-color: var(--kiska-brand-1,#3d9400); color:#fff; }
.kiska-promo-bg-style-warm { background-color: var(--kiska-brand-2,#f28c20); }
.kiska-promo-bg-style-cool { background-color: var(--kiska-brand-3,#d5722e); }
.kiska-promo-bg-style-theme_strong h1,
.kiska-promo-bg-style-theme_strong h2,
.kiska-promo-bg-style-theme_strong h3,
.kiska-promo-bg-style-theme_strong h4,
.kiska-promo-bg-style-theme_strong h5,
.kiska-promo-bg-style-theme_strong h6,
.kiska-promo-bg-style-theme_strong p { color:#fff; }

/* Admin preview fallback: enough Bootstrap/Kiskadoo structure for previews when full theme CSS is not present. */
.kiska-promo-preview-panel .container { max-width:1140px; margin-left:auto; margin-right:auto; width:100%; box-sizing:border-box; }
.kiska-promo-preview-panel .row { display:flex; flex-wrap:wrap; margin-left:-15px; margin-right:-15px; }
.kiska-promo-preview-panel [class*="col-"] { box-sizing:border-box; padding-left:15px; padding-right:15px; width:100%; }
.kiska-promo-preview-panel .d-flex { display:flex!important; }
.kiska-promo-preview-panel .flex-fill { flex:1 1 auto!important; }
.kiska-promo-preview-panel .col-12 { flex:0 0 100%; max-width:100%; }
.kiska-promo-preview-panel .col-6 { flex:0 0 50%; max-width:50%; }
.kiska-promo-preview-panel .col-md-4 { flex:0 0 33.333333%; max-width:33.333333%; }
.kiska-promo-preview-panel .col-lg-3,
.kiska-promo-preview-panel .col-xl-3 { flex:0 0 25%; max-width:25%; }

.kiska-promo-preview-panel .card { position:relative; display:flex; flex-direction:column; min-width:0; background:#fff; }
.kiska-promo-preview-panel .card-img-top { display:block; width:100%; }
.kiska-promo-preview-panel .card-body { flex:1 1 auto; }
.kiska-promo-preview-panel .card-footer { border-top:0; }

/* Match the existing Kiskadoo news card family. */
.kiska-promo-preview-panel .featuredNewsCard {
    margin:15px 0;
    border:0;
    box-shadow:2px 2px 2px 0 rgba(0,0,0,0.25);
    position:relative;
}
.kiska-promo-preview-panel .featuredNewsCard .card-img-top { width:100%; height:15vw; object-fit:cover; }
.kiska-promo-preview-panel .featuredNewsCard .card-body { padding:1.25rem; padding-top:5px; }
.kiska-promo-preview-panel .featuredNewsCard .card-title { padding:10px 0 0 0; margin-top:0; }
.kiska-promo-preview-panel .featuredNewsCard .card-footer { text-align:right; padding:.75rem 1.25rem; background:rgba(0,0,0,.03); }

/* Match the existing Kiskadoo photo tile family. */
.kiska-promo-preview-panel .photoPageCard { margin-bottom:15px; position:relative; overflow:hidden; }
.kiska-promo-preview-panel .photoPageCard .boxLink,
.kiska-promo-preview-panel .photoPageCard .boxLink:hover,
.kiska-promo-preview-panel .photoPageCard .boxLink:active { text-decoration:none; display:block; }
.kiska-promo-preview-panel .photoPageCard .cardGrid { position:relative; overflow:hidden; }
.kiska-promo-preview-panel .photoPageCard .card-img-top { display:block; width:100%; height:auto; }
.kiska-promo-preview-panel .photoPageCard .card-img-overlay {
    position:absolute;
    top:0; right:0; bottom:0; left:0;
    z-index:2;
    height:100%;
    margin:0;
    padding:1.25rem;
    display:flex;
    align-items:flex-start;
    color:#fff;
    background:linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.18) 45%, rgba(0,0,0,.05));
    font-size:1.3rem;
}

/* Theme button fallbacks for admin preview only. */
.kiska-promo-preview-panel .btn { display:inline-block; font-weight:400; text-align:center; vertical-align:middle; user-select:none; border:1px solid transparent; padding:.375rem .75rem; line-height:1.5; text-decoration:none; }
.kiska-promo-preview-panel .btn-primary,
.kiska-promo-preview-panel .btn-default { background-color:var(--kiska-neutral-1,#9f9f9f); color:#fff!important; }

/* Front-end edit overlay */
.kiska-promo-toolbar { position:absolute; top:10px; right:10px; z-index:50; background:#111; color:#fff; padding:6px 8px; border-radius:999px; font-size:13px; box-shadow:0 3px 10px rgba(0,0,0,.25); }
.kiska-promo-toolbar a,
.kiska-promo-toolbar button { color:#fff; background:transparent; border:0; text-decoration:none; cursor:pointer; padding:4px 6px; }
.kiska-promo-drag { cursor:grab; }
.kiska-promo-section.ui-sortable-helper { box-shadow:0 0 0 4px rgba(0,0,0,.12); }

@media (max-width:900px){
    .kiska-promo-preview-panel .col-md-4,
    .kiska-promo-preview-panel .col-lg-3,
    .kiska-promo-preview-panel .col-xl-3 { flex:0 0 50%; max-width:50%; }
}
@media (max-width:767px){
    .kiska-promo-photo-banner-content { padding-top:2.5rem; padding-bottom:2.5rem; }
    .kiska-promo-preview-panel .featuredNewsCard { display:flex; flex-direction:row; flex-wrap:wrap; }
    .kiska-promo-preview-panel .featuredNewsCard .card-img-top { height:40vw; }
    .kiska-promo-preview-panel .featuredNewsCard .card-footer { width:100%; }
}
@media (max-width:560px){
    .kiska-promo-preview-panel .col-6,
    .kiska-promo-preview-panel .col-md-4,
    .kiska-promo-preview-panel .col-lg-3,
    .kiska-promo-preview-panel .col-xl-3 { flex:0 0 100%; max-width:100%; }
}

/* v0.2.8: stricter Kiskadoo preview/theme fidelity fixes */
.kiska-promo-bg-style-theme_tint { background-color: #f5f8fa !important; background-color: var(--kiska-soft-1,#f5f8fa) !important; }
.kiska-promo-bg-style-theme_soft { background-color: #d7e7fc !important; background-color: var(--kiska-soft-2,#d7e7fc) !important; }
.kiska-promo-bg-style-theme_strong { background-color: #3d9400 !important; background-color: var(--kiska-brand-1,#3d9400) !important; color:#fff !important; }
.kiska-promo-bg-style-warm { background-color: #f28c20 !important; background-color: var(--kiska-brand-2,#f28c20) !important; }
.kiska-promo-bg-style-cool { background-color: #d5722e !important; background-color: var(--kiska-brand-3,#d5722e) !important; }

.kiska-promo-text-light,
.kiska-promo-text-light h1,
.kiska-promo-text-light h2,
.kiska-promo-text-light h3,
.kiska-promo-text-light h4,
.kiska-promo-text-light h5,
.kiska-promo-text-light h6,
.kiska-promo-text-light p { color:#fff !important; }

.kiska-promo-text-dark,
.kiska-promo-text-dark h1,
.kiska-promo-text-dark h2,
.kiska-promo-text-dark h3,
.kiska-promo-text-dark h4,
.kiska-promo-text-dark h5,
.kiska-promo-text-dark h6,
.kiska-promo-text-dark p { color:inherit; }

.kiska-promo-section .card.featuredNewsCard,
.kiska-promo-section .card.photoPageCard { padding:0 !important; max-width:none !important; }

.kiska-promo-section .photoPageCard .cardGrid { position:relative; overflow:hidden; }
.kiska-promo-section .photoPageCard .card-img-overlay {
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:2;
    margin:0;
    display:flex;
    align-items:flex-start;
}
.kiska-promo-section .photoPageCard img.card-img-top { display:block; width:100%; }


/* v0.2.9: faithful Kiskadoo photo tiles and preview card reset */
.kiska-promo-section .photoPageCard,
.kiska-promo-preview-panel .photoPageCard {
    padding:0 !important;
    overflow:hidden;
}
.kiska-promo-section .photoPageCard .cardGrid,
.kiska-promo-preview-panel .photoPageCard .cardGrid {
    position:relative !important;
    overflow:hidden !important;
    width:100%;
}
.kiska-promo-section .photoPageCard img.card-img-top,
.kiska-promo-preview-panel .photoPageCard img.card-img-top {
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
}
.kiska-promo-section .photoPageCard .card-img-overlay,
.kiska-promo-preview-panel .photoPageCard .card-img-overlay {
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    z-index:2 !important;
    margin:0 !important;
    height:auto !important;
    background-image:url(../images/graphics/black-top-grad.png);
    background-size:cover;
    color:#fff !important;
}
.kiska-promo-preview-panel .card {
    padding:0 !important;
    max-width:none !important;
    min-width:0 !important;
}
.kiska-promo-text-light,
.kiska-promo-text-light h1,
.kiska-promo-text-light h2,
.kiska-promo-text-light h3,
.kiska-promo-text-light h4,
.kiska-promo-text-light h5,
.kiska-promo-text-light h6,
.kiska-promo-text-light p,
.kiska-promo-text-light .largerText {
    color:#fff !important;
}
.kiska-promo-text-dark,
.kiska-promo-text-dark h1,
.kiska-promo-text-dark h2,
.kiska-promo-text-dark h3,
.kiska-promo-text-dark h4,
.kiska-promo-text-dark h5,
.kiska-promo-text-dark h6,
.kiska-promo-text-dark p,
.kiska-promo-text-dark .largerText {
    color:#222 !important;
}

/* v0.3.0: preview polish and safer text-colour scoping */
.kiska-promo-preview-panel .kiska-promo-band > .container {
    padding:30px !important;
}
.kiska-promo-preview-panel .col-md-6 {
    flex:0 0 50%;
    max-width:50%;
}
.kiska-promo-preview-panel .align-items-center {
    align-items:center !important;
}

/* Text tone should affect section copy only, not the cards inside post sections. */
.kiska-promo-text-light .kiska-promo-section-copy,
.kiska-promo-text-light .kiska-promo-section-copy h1,
.kiska-promo-text-light .kiska-promo-section-copy h2,
.kiska-promo-text-light .kiska-promo-section-copy h3,
.kiska-promo-text-light .kiska-promo-section-copy h4,
.kiska-promo-text-light .kiska-promo-section-copy h5,
.kiska-promo-text-light .kiska-promo-section-copy h6,
.kiska-promo-text-light .kiska-promo-section-copy p,
.kiska-promo-text-light .kiska-promo-section-copy .largerText {
    color:#fff !important;
}
.kiska-promo-text-dark .kiska-promo-section-copy,
.kiska-promo-text-dark .kiska-promo-section-copy h1,
.kiska-promo-text-dark .kiska-promo-section-copy h2,
.kiska-promo-text-dark .kiska-promo-section-copy h3,
.kiska-promo-text-dark .kiska-promo-section-copy h4,
.kiska-promo-text-dark .kiska-promo-section-copy h5,
.kiska-promo-text-dark .kiska-promo-section-copy h6,
.kiska-promo-text-dark .kiska-promo-section-copy p,
.kiska-promo-text-dark .kiska-promo-section-copy .largerText {
    color:#222 !important;
}

.kiska-promo-post-band .featuredNewsCard,
.kiska-promo-post-band .featuredNewsCard .card-body,
.kiska-promo-post-band .featuredNewsCard .card-title,
.kiska-promo-post-band .featuredNewsCard .card-text {
    color:#222 !important;
}
.kiska-promo-post-band .featuredNewsCard .text-muted {
    color:#6c757d !important;
}
.kiska-promo-post-band .featuredNewsCard .btn {
    color:#fff !important;
}
.kiska-promo-post-band .photoPageCard .card-img-overlay {
    color:#fff !important;
}

@media (max-width:767px){
    .kiska-promo-preview-panel .col-md-6 {
        flex:0 0 100%;
        max-width:100%;
    }
}

/* v0.3.1: fixed promotional card/tile patterns */
.kiskaPromoColourTile{
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:100%;
    min-height:220px;
    padding:1.25rem;
    margin:15px 0;
    color:#fff !important;
    text-decoration:none !important;
    box-sizing:border-box;
    transition:0.3s;
}
.kiskaPromoColourTile:hover,
.kiskaPromoColourTile:focus{
    color:#fff !important;
    text-decoration:none !important;
    transform:translate(0,-3px);
    box-shadow:-1px 1px 5px 0 rgba(0,0,0,0.26);
}
.kiskaPromoColourTile h3{
    color:inherit !important;
    margin:0 0 .65rem 0;
    padding:0;
    font-size:1.35rem;
    line-height:1.25;
}
.kiskaPromoColourTile p{
    color:inherit !important;
    margin:0;
    line-height:1.45;
}
.kiskaPromoPair{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    margin:15px 0;
    min-height:220px;
    text-decoration:none !important;
    color:inherit;
    overflow:hidden;
    transition:0.3s;
}
.kiskaPromoPair:hover,
.kiskaPromoPair:focus{
    text-decoration:none !important;
    transform:translate(0,-3px);
    box-shadow:-1px 1px 5px 0 rgba(0,0,0,0.26);
}
.kiskaPromoPairText{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1.2rem;
    color:#fff !important;
}
.kiskaPromoPairTitle{
    display:block;
    font-family:inherit;
    font-size:1.25rem;
    line-height:1.25;
    font-weight:700;
    margin-bottom:.55rem;
    color:inherit !important;
}
.kiskaPromoPairExcerpt{
    display:block;
    color:inherit !important;
    line-height:1.4;
}
.kiskaPromoPairPhoto{
    display:block;
    min-height:220px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.kiska-promo-post-band .kiskaPromoColourTile h3,
.kiska-promo-post-band .kiskaPromoColourTile p,
.kiska-promo-post-band .kiskaPromoPairText,
.kiska-promo-post-band .kiskaPromoPairTitle,
.kiska-promo-post-band .kiskaPromoPairExcerpt{
    color:#fff !important;
}
@media (max-width:767px){
    .kiskaPromoPair{grid-template-columns:1fr;}
    .kiskaPromoPairPhoto{min-height:55vw;}
    .kiskaPromoColourTile{min-height:180px;}
}

/* v0.3.2: Single content promos and slideshow/carousel */
.kiskaPromoSinglePhotoBanner {
    min-height: 320px;
    background-size: cover;
    background-position: center;
}
.kiskaPromoSinglePhotoBanner .kiska-promo-photo-banner-content {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.kiskaPromoSlider {
    position: relative;
    overflow: hidden;
    margin: 15px 0;
}
.kiskaPromoSliderViewport {
    position: relative;
    min-height: 340px;
    transition: transform .6s ease;
}
.kiskaPromoSlide {
    background: #fff;
    box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.25);
}
.kiskaPromoSlideImage {
    display: block;
    width: 100%;
    min-height: 220px;
    background-size: cover;
    background-position: center;
    text-decoration: none;
}
.kiskaPromoSlideText {
    padding: 1rem 1.25rem 1.25rem;
}
.kiskaPromoSlideText h3 {
    margin-top: .25rem;
}
.kiskaPromoSlideText h3 a {
    color: inherit;
    text-decoration: none;
}
.kiskaPromoSlider--fade .kiskaPromoSlide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .7s ease;
}
.kiskaPromoSlider--fade .kiskaPromoSlide.is-active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}
.kiskaPromoSlider--slide .kiskaPromoSliderViewport {
    display: flex;
    min-height: 0;
}
.kiskaPromoSlider--slide .kiskaPromoSlide {
    flex: 0 0 100%;
    max-width: 100%;
}
.kiskaPromoSliderControls {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}
.kiskaPromoSliderControls button {
    border: 0;
    background: rgba(0,0,0,.65);
    color: #fff;
    width: 38px;
    height: 38px;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

@media (min-width: 768px) {
    .kiskaPromoSlide {
        display: grid;
        grid-template-columns: 45% 55%;
    }
    .kiskaPromoSlider--slide .kiskaPromoSlide {
        display: grid;
    }
    .kiskaPromoSlideImage {
        min-height: 340px;
    }
}


/* v0.3.3: single promo image/text constraints and preview slider support */
.kiskaPromoSingleImageText .kiskaPromoSingleImageCol{
    display:flex;
    align-items:center;
}
.kiskaPromoSingleImageText .kiskaPromoSingleImage{
    display:block;
    width:100%;
    max-width:100%;
    height:clamp(220px, 28vw, 360px);
    object-fit:cover;
}
.kiska-promo-preview-panel .kiskaPromoSingleImageText{
    display:flex;
    flex-wrap:wrap;
}
.kiska-promo-preview-panel .kiskaPromoSingleImageText .col-md-6{
    flex:0 0 50%;
    max-width:50%;
}
.kiska-promo-preview-panel .kiskaPromoSingleImage{
    width:100% !important;
    max-width:100% !important;
    height:280px !important;
    object-fit:cover !important;
}
@media (max-width:767px){
    .kiskaPromoSingleImageText .kiskaPromoSingleImage{height:55vw;}
    .kiska-promo-preview-panel .kiskaPromoSingleImageText .col-md-6{flex:0 0 100%;max-width:100%;}
}


/* v0.3.4/0.3.5: carousel slide layout options */
.kiskaPromoSlide--colour_tile{
    display:block;
    background:transparent;
    box-shadow:none;
}
.kiskaPromoSlideColourTile{
    min-height:340px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:2rem;
    color:#fff !important;
}
.kiskaPromoSlideColourTile h3,
.kiskaPromoSlideColourTile h3 a,
.kiskaPromoSlideColourTile p{
    color:#fff !important;
}
.kiskaPromoSlideColourTile .btn{
    align-self:flex-start;
    margin-top:.75rem;
}
.kiskaPromoSlide--photo_banner{
    display:block !important;
    min-height:340px;
}
.kiskaPromoSlidePhotoBanner{
    display:flex;
    min-height:340px;
    width:100%;
    background-size:cover;
    background-position:center;
    text-decoration:none !important;
    color:#fff !important;
}
.kiskaPromoSlidePhotoBannerInner{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:.6rem;
    width:100%;
    padding:2rem;
    color:#fff !important;
}
.kiskaPromoSlidePhotoBannerInner .kiskaPromoSlideTitle{
    display:block;
    font-size:1.8rem;
    line-height:1.15;
    font-weight:700;
    color:#fff !important;
}
.kiskaPromoSlidePhotoBannerInner .kiskaPromoSlideExcerpt{
    display:block;
    color:#fff !important;
}
.kiskaPromoSlide--photo_banner .btn{
    align-self:flex-start;
}
.kiskaPromoSlider--slide .kiskaPromoSlide--photo_banner{
    flex:0 0 100%;
}
@media (min-width:768px){
    .kiskaPromoSlide--colour_tile{display:block;}
    .kiskaPromoSlide--photo_banner{display:block !important;}
}

/* v0.3.6: full-width colour tile slides */
.kiskaPromoSlider .kiskaPromoSlide--colour_tile,
.kiskaPromoSlider--slide .kiskaPromoSlide--colour_tile,
.kiskaPromoSlider--fade .kiskaPromoSlide--colour_tile.is-active{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    background:transparent !important;
    box-shadow:none !important;
}
.kiskaPromoSlider--slide .kiskaPromoSlide--colour_tile{
    flex:0 0 100% !important;
}
.kiskaPromoSlide--colour_tile .kiskaPromoSlideColourTile{
    width:100%;
    min-height:340px;
    box-sizing:border-box;
}


/* v0.3.8: light-touch front-end homepage editor overlays */
.kiska-promo-zone{
    position: relative;
}
.kiska-promo-position-marker{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 80;
    margin: 0;
    padding: 0;
    background: transparent;
    color: #222;
    pointer-events: none;
}
.kiska-promo-position-marker-inner{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 5px 3px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.16);
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    backdrop-filter: blur(2px);
    pointer-events: auto;
    white-space: nowrap;
    opacity: .72;
    transition: opacity .18s ease, background .18s ease;
}
.kiska-promo-position-marker-inner:hover,
.kiska-promo-position-marker-inner:focus-within{
    opacity: 1;
    background: rgba(255,255,255,.94);
}
.kiska-promo-position-marker strong{
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
}
.kiska-promo-icon-link,
.kiska-promo-icon-link:visited{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    border: 0;
    background: rgba(0,0,0,.72);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}
.kiska-promo-icon-link:hover,
.kiska-promo-icon-link:focus{
    background: rgba(0,0,0,.92);
    color: #fff !important;
    text-decoration: none !important;
}
.kiska-promo-choose-existing{
    position: relative;
    display: inline-flex;
}
.kiska-promo-choose-existing summary{
    list-style: none;
    font-size: 13px;
}
.kiska-promo-choose-existing summary::-webkit-details-marker{
    display: none;
}
.kiska-promo-existing-list{
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(420px, 92vw);
    max-height: 340px;
    overflow: auto;
    background: #fff;
    color: #222;
    border: 1px solid rgba(0,0,0,.18);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    padding: 8px;
    z-index: 9999;
    border-radius: 4px;
    white-space: normal;
}
.kiska-promo-existing-heading{
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px 8px;
    color: #333;
}
.kiska-promo-existing-item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.kiska-promo-existing-item:last-child{ border-bottom: 0; }
.kiska-promo-existing-item span{
    font-size: .9rem;
    line-height: 1.25;
}
.kiska-promo-existing-empty{ margin: 8px 0; }

.kiska-promo-section{
    position: relative;
}
.kiska-promo-toolbar{
    position: absolute;
    top: 6px;
    right: 8px;
    z-index: 90;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 4px 3px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.14);
    box-shadow: 0 2px 8px rgba(0,0,0,.14);
    backdrop-filter: blur(2px);
    opacity: .74;
    transition: opacity .18s ease, background .18s ease;
}
.kiska-promo-toolbar:hover,
.kiska-promo-toolbar:focus-within{
    opacity: 1;
    background: rgba(255,255,255,.95);
}
.kiska-promo-toolbar-title{
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    color: #222;
}
.kiska-promo-toolbar-icon,
.kiska-promo-toolbar-icon:visited{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    border: 0;
    background: rgba(0,0,0,.72);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}
.kiska-promo-toolbar-icon:hover,
.kiska-promo-toolbar-icon:focus{
    background: rgba(0,0,0,.92);
    color: #fff !important;
    text-decoration: none !important;
}
@media (max-width: 767px){
    .kiska-promo-toolbar-title{ max-width: 130px; }
    .kiska-promo-position-marker strong{ max-width: 120px; overflow:hidden; text-overflow:ellipsis; }
}

/* v0.3.9: one central floating pill for both empty and occupied positions */
.kiska-promo-position-marker-inner{
    max-width: min(92vw, 980px);
    gap: 6px;
    padding: 3px 5px 3px 10px;
}
.kiska-promo-pill-position,
.kiska-promo-pill-title{
    display:inline-block;
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    vertical-align:middle;
}
.kiska-promo-pill-separator{
    opacity:.55;
    font-size:12px;
}
.kiska-promo-pill-active-list{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.kiska-promo-pill-active{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-width:0;
}
.kiska-promo-position-marker .kiska-promo-hide{
    font-family:inherit;
}
.kiska-promo-toolbar{
    display:none !important;
}
.kiska-promo-choose-existing .kiska-promo-existing-list{
    left:50%;
    right:auto;
    transform:translateX(-50%);
}
@media (max-width: 767px){
    .kiska-promo-pill-position{ max-width:90px; }
    .kiska-promo-pill-title{ max-width:120px; }
    .kiska-promo-pill-active-list{ max-width:140px; overflow:hidden; }
}

/* v0.4.1: image/video & text media helpers */
.kiskaPromoMediaCol{
    margin-bottom: 1rem;
}
.kiskaPromoEmbed{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.kiskaPromoEmbed iframe,
.kiskaPromoEmbed embed,
.kiskaPromoEmbed object{
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 280px;
}
@media (min-width: 768px){
    .kiskaPromoMediaCol{
        margin-bottom: 0;
    }
}

.kiska-promo-parallax{background-attachment:fixed;}
@media (max-width:991px){.kiska-promo-parallax{background-attachment:scroll;}}
