/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Global
# Youzify (Youzer)
# Themes Specific
    # Kleo
# BB Platform
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Global
--------------------------------------------------------------*/

.wb-icons {
    font-size: 18px;
    min-width: 24px;
    height: 24px;
    line-height: 24px;
    display: inline-block;
}

.wb-icons:before {
    margin: 0;
}

#whats-new-options .post-elements-buttons-item {
    margin-inline-end: 10px;
    margin-bottom: 10px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

#whats-new-submit {
    clear: both;
}

#whats-new-toolbar .post-elements-buttons-item {
    margin-inline-end: 10px;
    position: relative;
}

@media screen and (min-width: 48em) {
    #whats-new-options .post-elements-buttons-item:first-child {
        margin-inline-start: 65px;
    }
}

.checkins-icon {
    cursor: pointer;
}

.bpchk-marker-container {
    margin: 0;
    display: inline-block;
    background: transparent;
}

.rtmedia-plupload-container .bpchk-marker-container {
    margin-inline-start: 0;
}

.bp-checkins.bp-checkin-panel {
    width: 100%;
    margin: 10px 0;
}

@media screen and (min-width: 48em) {
    .bp-checkins.bp-checkin-panel {
        width: -webkit-calc(100% - 65px);
        width: calc(100% - 65px);
        margin-inline-start: 65px;
    }
}

.bpchk-single-location-added {
    font-size: 14px;
    padding: 10px;
}

#bpchk-temp-location {
    font-size: 16px;
    text-decoration: underline;
}

.bpchk-place-map iframe {
    width: 100%;
}

div.panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.2s ease-out;
    transition: max-height 0.2s ease-out;
    margin: 0px 5%;
}

.bpchk-myplace-admin-row {
    clear: both;
    overflow: hidden;
    padding-bottom: 5px;
}


/*.bpchk-autocomplete-place{
                background-color: #ffffff !important;
                background-image: url("http://loadinggif.com/images/image-selection/3.gif")  !important;
                background-size: 25px 25px  !important;
                background-position:right center  !important;
                background-repeat: no-repeat  !important;
}*/

.bpchk-place-map iframe {
    width: 100%;
    min-height: 250px;
    height: 40vh;
    max-height: 400px;
    background-color: grey;
}

.bp-checkin-panel {
    display: none;
}

span.bpchk-allow-checkin {
    cursor: pointer;
    display: inline-block;
}

.bpchk-places-fetched {
    list-style-type: none;
    height: 20em;
    line-height: 18px;
    border: 1px solid #ccc;
    padding: 0px;
    margin: 0;
    overflow-y: scroll !important;
    overflow-x: hidden;
}

.bpchk-places-fetched li {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #ccc;
    cursor: pointer;
    padding: 5px;
}

.place-icon {
    flex-shrink: 0;
    margin: 5px;
    border: 1px solid #ccc;
    height: 25px;
    width: 25px;
    text-align: center;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.place-icon img {
    margin: auto;
}

.place-details {
    flex: 1;
    min-width: 0;
    font-size: 12px;
}

.place-details h6 {
    margin: 0 0 5px !important;
}

.place-details span {
    font-size: 12px;
    color: var(--bx-color-fg-subtle, #868686);
    line-height: 21px;
    /* margin-top: 10px !important; */
}

.place-actions {
    margin-inline-start: auto;
    flex-shrink: 0;
}

.place-actions a {
    padding: 2px 15px;
    background-color: var(--bx-color-bg-muted, #f8f8f8);
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 12px;
    margin: 8px;
    color: #000;
}

.bpchk-places-fetched li:hover {
    background-color: var(--bx-color-bg-muted, #f5f5f5);
}

#bpchk-add-as-place {
    margin-inline-start: 5px;
    margin-inline-end: 5px;
}

.checkin-by-autocomplete {
    width: 100%;
    height: 90px;
    padding: 10px;
    border: 1px solid var(--bx-color-border, rgba(234, 234, 234, .6))
}

.checkin-by-autocomplete-map {
    width: 100%;
    height: 200px;
    border: 1px solid var(--bx-color-border, rgba(234, 234, 234, .6))
}

.clear {
    clear: both;
}

.bp-checkin-panel {
    border: 1px solid var(--bx-color-border, rgba(234, 234, 234, .6));
    margin-bottom: 5px;
}

#bpchk-autocomplete-place {
    border: 1px solid var(--bx-color-border, rgba(234, 234, 234, .6));
    width: 100%;
    background: none;
    border-radius: 0px;
    text-indent: 2px;
    margin-bottom: 10px;
}

#bpchk-autocomplete-place:placeholder-shown {
    text-indent: 2px;
}

.pac-container {
    height: 100px;
    overflow-y: scroll;
    z-index: 999999;
}

.bpchk-place-loader {
    display: none;
    float: inline-end;
}

.bpchk-marker-container+.quote-btn,
.bp-checkins+.bpolls-html-container {
    margin-inline-start: 0 !important;
}


/* Pagination */
.bpchk-list-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
}

.bpchk-list-pagination a {
    width: 28px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    background: rgba(18, 43, 70, 0.05);
    border-radius: 5px;
    font-size: 15px;
}

.bpchk-list-pagination a.current {
    background: rgba(193, 202, 213, 0.8);
}

.bpchk-list-pagination a.prev {
    width: 45px;
}

.bpchk-list-pagination a.next {
    width: 45px;
}

/*--------------------------------------------------------------
# Youzify (Youzer)
--------------------------------------------------------------*/

.youzify .bpchk-marker-container,
#youzer .bpchk-marker-container {
    margin: 0;
}

.youzify .bp-checkins.bp-checkin-panel,
#youzer .bp-checkins.bp-checkin-panel {
    width: 100%;
    margin: 15px 0;
}

.youzify #yz-wall-form .disable-container,
#youzer #yz-wall-form .disable-container {
    display: none;
}

.youzify-wall-actions .post-elements-buttons-item.bpchk-marker-container {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #9f9f9f;
    cursor: pointer;
    font-size: 18px;
    line-height: 40px;
    text-align: center;
    border-radius: 100%;
}

.youzify-wall-actions .post-elements-buttons-item.bpchk-marker-container:hover {
    background-color: var(--yzfy-card-secondary-bg-color, var(--bx-color-bg-muted, var(--global-body-lightcolor, #fafafa)));
}

.wb-grid .youzify-column-content .bp-checkins.bp-checkin-panel {
    margin-inline-end: 0;
    width: 100%;
}

.youzify .bpchk-list-navigation-wrapper {
    margin: 0 0 20px;
}

.youzify .bpchk-activity-checkins-list>h4 {
    margin: 0 0 15px;
}

.youzify .bpchk-contact-options-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    gap: 10px;
}

/*--------------------------------------------------------------
## Kleo
--------------------------------------------------------------*/

.kleo-page .bpchk-marker-container,
.kleo-page .bp-checkins.bp-checkin-panel {
    margin-inline-start: 0;
}

.kleo-page .bp-checkins.bp-checkin-panel {
    width: 100%;
}

.kleo-page #buddypress #whats-new-options {
    overflow: visible;
}


/*--------------------------------------------------------------
# BB Platform
--------------------------------------------------------------*/

#whats-new-toolbar .wb-icons {
    color: rgba(18, 43, 70, .5);
    font-size: 18px;
}

#whats-new-toolbar .post-elements-buttons-item {
    min-width: 24px;
}

.activity-update-form #whats-new-attachments .bp-checkins.bp-checkin-panel {
    width: -webkit-calc(100% - 30px);
    width: calc(100% - 30px);
    margin: 15px;
}

.bp_edit_additiona_activity_content .bp-checkins.bp-checkin-panel {
    display: block;
    margin-inline-start: unset;
    width: unset;
}

#bpchk-checkins-map {
    z-index: 99;
}

.bpchk-checkins-location-view {
    font-size: 13px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 6px;
    text-transform: capitalize;
}

.bpchk-checkins-location-view a,
.bpchk-checkins-location-view .bpchk-trash-checkin-wrap {
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--bx-color-bg-muted, #f5f5f5);
    border-radius: 4px !important;
    font-size: 14px;
    color: var(--bx-color-fg, #444);
    line-height: normal;
}

.bpchk-checkins-location-view .bpchk-trash-checkin {
    cursor: pointer;
}

.bpchk-checkins-location-view .bpchk-trash-checkin:hover {
    color: #ff0000;
}

.bpchk-checkins-location-view svg {
    display: inline-block;
    vertical-align: middle;
    margin-inline-end: 3px;
    height: 16px;
    width: 16px;
}

.bpchk-checkins-location-view svg g {
    fill: #939393;
}

.bpchk-checkins-location-view .bp-tooltip:after {
    margin-top: 0px !important;
    top: -130% !important;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}


.bpchk-activity-checkins-list {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 20px;
    column-gap: 20px;
    margin-top: 30px;
}

.bpchk-activity-checkins-list table {
    border-inline-start: 1px solid var(--reign-site-border-color, var(--global-border-color, #e3e3e3));
    border-inline-end: 1px solid var(--reign-site-border-color, var(--global-border-color, #e3e3e3));
}

.bpchk-activity-checkins-list table td,
.bpchk-activity-checkins-list table th {
    padding: 10px !important;
}

@media screen and (max-width: 48em) {
    .bpchk-activity-checkins-list {
        grid-template-columns: 1fr;
    }

    .bpchk-checkins-column {
        margin-bottom: 10px;
    }
}

.bpchk-list-navigation-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 480px) {

    .bpchk-list-navigation-wrapper,
    .bpchk-list-pagination {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .bpchk-list-pagination {
        margin-top: 10px;
    }

}
/* ===========================================================
   Toast + confirm modal (replaces native alert/confirm)
   Added in 2.5.0 with the wrapper migration.
   =========================================================== */

.bpchk-toast-container {
	position: fixed;
	inset-inline-end: 24px;
	bottom: 24px;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	gap: 8px;
	pointer-events: none;
}

.bpchk-toast {
	background: #1e293b;
	color: #fff;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	min-width: 220px;
	max-width: 360px;
	pointer-events: auto;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.2s, transform 0.2s;
}

.bpchk-toast--visible {
	opacity: 1;
	transform: translateY(0);
}

.bpchk-toast--success {
	background: #16a34a;
}

.bpchk-toast--error {
	background: #dc2626;
}

.bpchk-toast--warning {
	background: #d97706;
}

.bpchk-confirm-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	transition: opacity 0.2s;
}

.bpchk-confirm-overlay--visible {
	opacity: 1;
}

.bpchk-confirm {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
	max-width: 420px;
	width: 100%;
	padding: 24px;
}

.bpchk-confirm__title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px;
	color: #1e293b;
}

.bpchk-confirm__message {
	font-size: 14px;
	color: #475569;
	margin: 0 0 18px;
	line-height: 1.5;
}

.bpchk-confirm__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.bpchk-confirm__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 16px;
	border-radius: 6px;
	border: 1px solid transparent;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

.bpchk-confirm__btn--cancel {
	background: #fff;
	color: #1e293b;
	border-color: #cbd5e1;
}

.bpchk-confirm__btn--confirm {
	background: #2563eb;
	color: #fff;
	border-color: #2563eb;
}

.bpchk-confirm__btn--confirm.bpchk-confirm__btn--dangerous {
	background: #dc2626;
	border-color: #dc2626;
}

.bpchk-confirm__btn:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

/*--------------------------------------------------------------
# Dark mode
# BuddyX, BuddyX Pro and Reign expose dark mode as html[data-bx-mode="dark"]
# (.buddyx-dark-theme on older builds). The front-end confirm dialog and the
# check-in location panel are hard-coded white surfaces with dark text, so on
# a dark theme they appear as a light box with text that can vanish against a
# dark backdrop. Restyle them to stay readable.
--------------------------------------------------------------*/
[data-bx-mode="dark"] .bpchk-confirm,
.buddyx-dark-theme .bpchk-confirm {
	background: #1e1e1e;
	color: #e6e6e6;
}

[data-bx-mode="dark"] .bpchk-confirm__title,
.buddyx-dark-theme .bpchk-confirm__title {
	color: #f0f0f0;
}

[data-bx-mode="dark"] .bpchk-confirm__message,
.buddyx-dark-theme .bpchk-confirm__message {
	color: #c7c7c7;
}

[data-bx-mode="dark"] .bpchk-confirm__btn--cancel,
.buddyx-dark-theme .bpchk-confirm__btn--cancel {
	background: #272727;
	color: #e6e6e6;
	border-color: rgba(255, 255, 255, 0.18);
}

[data-bx-mode="dark"] .bpchk-activity-checkins-section div.panel,
.buddyx-dark-theme .bpchk-activity-checkins-section div.panel {
	background-color: #1e1e1e;
	color: #e6e6e6;
}

/* Places list, favourite-place chips, table and pagination are hard-coded
   light surfaces too; give them dark treatment so they don't read as glare
   spots on a dark theme. Reign exposes no --bx-color-* tokens, so these use
   dark literals (not token fallbacks) per the cross-theme dark contract. */
[data-bx-mode="dark"] .bpchk-places-fetched,
.buddyx-dark-theme .bpchk-places-fetched {
	background-color: #1e1e1e;
	border-color: rgba(255, 255, 255, 0.15);
}

[data-bx-mode="dark"] .bpchk-places-fetched li,
.buddyx-dark-theme .bpchk-places-fetched li {
	border-color: rgba(255, 255, 255, 0.12);
	color: #e6e6e6;
}

[data-bx-mode="dark"] .bpchk-places-fetched li:hover,
.buddyx-dark-theme .bpchk-places-fetched li:hover {
	background-color: #2a2a2a;
}

[data-bx-mode="dark"] .place-actions a,
.buddyx-dark-theme .place-actions a {
	background-color: #272727;
	border-color: rgba(255, 255, 255, 0.18);
	color: #e6e6e6;
}

[data-bx-mode="dark"] .bpchk-checkins-location-view a,
[data-bx-mode="dark"] .bpchk-checkins-location-view .bpchk-trash-checkin-wrap,
.buddyx-dark-theme .bpchk-checkins-location-view a,
.buddyx-dark-theme .bpchk-checkins-location-view .bpchk-trash-checkin-wrap {
	background: #272727;
	color: #e6e6e6;
}

[data-bx-mode="dark"] .bpchk-activity-checkins-list table,
[data-bx-mode="dark"] .bpchk-activity-checkins-list table td,
[data-bx-mode="dark"] .bpchk-activity-checkins-list table th,
.buddyx-dark-theme .bpchk-activity-checkins-list table,
.buddyx-dark-theme .bpchk-activity-checkins-list table td,
.buddyx-dark-theme .bpchk-activity-checkins-list table th {
	border-color: rgba(255, 255, 255, 0.15);
}

[data-bx-mode="dark"] .bpchk-list-pagination a,
.buddyx-dark-theme .bpchk-list-pagination a {
	background: rgba(255, 255, 255, 0.08);
	color: #e6e6e6;
}

[data-bx-mode="dark"] .bpchk-list-pagination a.current,
.buddyx-dark-theme .bpchk-list-pagination a.current {
	background: rgba(255, 255, 255, 0.22);
}

/* Map containers. Only the chrome around the map can be themed from CSS: the
   Google tiles are painted by the Maps SDK (and, for the place preview, inside a
   cross-origin iframe), so they cannot be recoloured from here. Darkening the
   frame at least stops an empty or still-loading map from flashing as a bright
   block on a dark page. Recolouring the tiles themselves needs the Maps JS
   `styles` option and a configured API key. */
[data-bx-mode="dark"] #bpchk-checkins-map,
.buddyx-dark-theme #bpchk-checkins-map,
[data-bx-mode="dark"] .bpchk-place-map,
.buddyx-dark-theme .bpchk-place-map {
	background: #1b1b1b;
	border-color: rgba(255, 255, 255, 0.15);
}

[data-bx-mode="dark"] .bpchk-place-map iframe,
.buddyx-dark-theme .bpchk-place-map iframe {
	background-color: #1b1b1b;
	border-color: rgba(255, 255, 255, 0.15);
}

/* ===========================================================
   Keyboard focus — visible focus ring on every interactive
   check-in control (WCAG 2.4.7). Scoped to :focus-visible so
   mouse users don't see the ring. --bx-color-accent falls back
   to the plugin accent when the theme exposes no token.
   =========================================================== */
.bpchk-list-pagination a:focus-visible,
.bpchk-checkins-location-view a:focus-visible,
.bpchk-checkins-location-view .bpchk-trash-checkin:focus-visible,
#bpchk-select:focus-visible,
#bpchk-bulk-manage:focus-visible,
.bpchk-all-check:focus-visible,
#bpchk-select-all-contact:focus-visible,
#bpchk-autocomplete-place:focus-visible {
	outline: 2px solid var(--bx-color-accent, #2563eb);
	outline-offset: 2px;
}
