/* ==========================================================================
   BASE STYLES
   ========================================================================== */

/* Global side margins for all Collabable pages and single CPTs (Astra theme) */
body.page .site-content > .ast-container,
body.single-collabable_studio .site-content > .ast-container,
body.single-collabable_person .site-content > .ast-container {
    padding-left: 80px !important;
    padding-right: 80px !important;
    box-sizing: border-box !important;
}
@media (max-width: 1200px) {
    body.page .site-content > .ast-container,
    body.single-collabable_studio .site-content > .ast-container,
    body.single-collabable_person .site-content > .ast-container {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}
@media (max-width: 768px) {
    body.page .site-content > .ast-container,
    body.single-collabable_studio .site-content > .ast-container,
    body.single-collabable_person .site-content > .ast-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Remove Astra default top margin between header and content on all pages except home */
body.page:not(.home) .content-area.primary {
    margin-top: 0 !important;
}

.collabable-wrap{max-width:1100px;margin:0 auto;padding:16px}
.collabable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width: 900px){.collabable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 600px){.collabable-grid{grid-template-columns:1fr}}
.collabable-card{border:1px solid #e5e5e5;border-radius:12px;padding:14px;background:#fff}
.collabable-card h3{margin:0 0 8px 0;font-size:18px}
.collabable-meta{font-size:13px;color:#666;margin:8px 0}
.collabable-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px}
.collabable-filter label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#333}
.collabable-filter select,.collabable-filter input[type="text"],.collabable-filter input[type="number"],.collabable-filter textarea{min-width:180px;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
/* .collabable-btn: page-specific override — see also profile.css, subscribe.css, onboarding.css */
.collabable-btn{display:inline-block;padding:6px 10px;border-radius:4px;border:1px solid #111;background:#111;color:#fff;text-decoration:none;font-size:13px;font-weight:500;text-align:center;cursor:pointer;}
.collabable-btn.secondary{background:#fff;color:#111}
.collabable-btn.disabled,.collabable-btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}
.collabable-alert{padding:12px 14px;border-radius:12px;margin:12px 0}
.collabable-alert.success{background:#e8f4ea;border:1px solid #27ae60;color:#065f46}
.collabable-alert.error{background:#fef2f2;border:1px solid #CF0000;color:#7f1d1d}
.collabable-form{display:flex;flex-direction:column;gap:10px;max-width:680px}
.collabable-form textarea{min-height:120px}
.collabable-hr{height:1px;background:#eee;margin:20px 0}

/* ==========================================================================
   TRIAL BANNER
   ========================================================================== */

.collabable-trial-banner{
	background:#fef2f2;
	border-bottom:1px solid #ddd;
	padding:12px 20px;
	position:relative;
	z-index:100
}

.collabable-trial-banner__content{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	max-width:1200px;
	margin:0 auto;
	flex-wrap:wrap
}

.collabable-trial-banner__icon{
	display:flex;
	align-items:center;
	color:#CF0000
}

.collabable-trial-banner__icon svg{
	width:20px;
	height:20px
}

.collabable-trial-banner__text{
	font-size:14px;
	font-weight:500;
	color:#333
}

.collabable-trial-banner__cta{
	display:inline-flex;
	align-items:center;
	padding:6px 16px;
	background:#CF0000;
	color:#fff;
	border-radius:999px;
	font-size:13px;
	font-weight:600;
	text-decoration:none;
}

/* Warning state (7 days or less) */
.collabable-trial-banner.warning{
	background:#fef3c7;
	border-bottom-color:#e67e22
}

.collabable-trial-banner.warning .collabable-trial-banner__icon{
	color:#e67e22
}

.collabable-trial-banner.warning .collabable-trial-banner__text{
	color:#92400e
}

.collabable-trial-banner.warning .collabable-trial-banner__cta{
	background:#e67e22
}

/* Urgent state (3 days or less) */
.collabable-trial-banner.urgent{
	background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);
	border-bottom-color:#CF0000
}

.collabable-trial-banner.urgent .collabable-trial-banner__icon{
	color:#CF0000
}

.collabable-trial-banner.urgent .collabable-trial-banner__text{
	color:#7f1d1d
}

.collabable-trial-banner.urgent .collabable-trial-banner__cta{
	background:#CF0000
}

/* Expired subscription */
.collabable-trial-banner.expired{
	background:#fef2f2;
	border-bottom:1px solid #ddd
}

.collabable-trial-banner.expired .collabable-trial-banner__icon{
	color:#CF0000
}

.collabable-trial-banner.expired .collabable-trial-banner__text{
	color:#333
}

.collabable-trial-banner.expired .collabable-trial-banner__cta{
	background:#CF0000;
	color:#fff
}

/* Minimal style */
.collabable-trial-banner.minimal{
	background:transparent;
	border:none;
	padding:8px 16px
}

.collabable-trial-banner.minimal .collabable-trial-banner__content{
	justify-content:flex-end
}

/* Compact style */
.collabable-trial-banner.compact{
	padding:8px 16px
}

.collabable-trial-banner.compact .collabable-trial-banner__text{
	font-size:13px
}

/* ==========================================================================
   SUBSCRIPTION PLANS
   ========================================================================== */

.collabable-subscription-plans{
	padding:20px 0
}

/* Billing Toggle */
.collabable-billing-toggle{
	display:flex;
	justify-content:center;
	gap:0;
	margin-bottom:32px;
	background:#f5f5f5;
	border-radius:999px;
	padding:4px;
	width:fit-content;
	margin-left:auto;
	margin-right:auto
}

.collabable-billing-toggle__btn{
	padding:10px 24px;
	background:transparent;
	border:none;
	border-radius:999px;
	font-size:14px;
	font-weight:500;
	color:#666;
	cursor:pointer;
	transition:all 0.2s ease;
	display:flex;
	align-items:center;
	gap:8px
}

.collabable-billing-toggle__btn.active{
	background:#fff;
	color:#111;
	box-shadow:0 1px 3px rgba(0,0,0,0.1)
}

.collabable-billing-toggle__badge{
	background:#27ae60;
	color:#fff;
	font-size:11px;
	font-weight:600;
	padding:2px 8px;
	border-radius:999px
}

/* Plans Grid */
.collabable-plans-grid{
	display:grid;
	gap:24px;
	align-items:stretch
}

.collabable-plans-grid.columns-2{
	grid-template-columns:repeat(2,1fr)
}

.collabable-plans-grid.columns-3{
	grid-template-columns:repeat(3,1fr)
}

.collabable-plans-grid.columns-4{
	grid-template-columns:repeat(4,1fr)
}

@media (max-width: 1024px){
	.collabable-plans-grid.columns-4{
		grid-template-columns:repeat(2,1fr)
	}
}

@media (max-width: 768px){
	.collabable-plans-grid.columns-3,
	.collabable-plans-grid.columns-4{
		grid-template-columns:repeat(2,1fr)
	}
}

@media (max-width: 600px){
	.collabable-plans-grid.columns-2,
	.collabable-plans-grid.columns-3,
	.collabable-plans-grid.columns-4{
		grid-template-columns:1fr
	}
}

/* Plan Card */
.collabable-plan-card{
	background:#fff;
	border:1px solid #e5e5e5;
	border-radius:16px;
	padding:24px;
	display:flex;
	flex-direction:column;
	position:relative;

}

.collabable-plan-card.highlighted{
	border-color:#111;
	border-width:2px;
	transform:scale(1.02)
}

.collabable-plan-card.current{
	border-color:#27ae60
}

.collabable-plan-card__badge{
	position:absolute;
	top:-12px;
	left:50%;
	transform:translateX(-50%);
	background:#111;
	color:#fff;
	font-size:11px;
	font-weight:600;
	padding:4px 12px;
	border-radius:999px;
	white-space:nowrap
}

.collabable-plan-card__header{
	margin-bottom:20px
}

.collabable-plan-card__name{
	font-size:20px;
	font-weight:600;
	margin:0 0 4px 0;
	color:#111
}

.collabable-plan-card__description{
	font-size:14px;
	color:#666;
	margin:0
}

.collabable-plan-card__price{
	display:flex;
	align-items:baseline;
	gap:2px;
	margin-bottom:24px
}

.collabable-plan-card__currency{
	font-size:24px;
	font-weight:600;
	color:#111
}

.collabable-plan-card__amount{
	font-size:48px;
	font-weight:700;
	color:#111;
	line-height:1
}

.collabable-plan-card__period{
	font-size:14px;
	color:#666;
	margin-left:4px
}

.collabable-plan-card__free{
	font-size:32px;
	font-weight:600;
	color:#111
}

.collabable-plan-card__features{
	list-style:none;
	padding:0;
	margin:0 0 24px 0;
	flex-grow:1
}

.collabable-plan-card__features li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:8px 0;
	font-size:14px;
	color:#333;
	border-bottom:1px solid #f5f5f5
}

.collabable-plan-card__features li:last-child{
	border-bottom:none
}

.collabable-plan-card__features li svg{
	flex-shrink:0;
	color:#27ae60;
	margin-top:2px
}

.collabable-plan-card__footer{
	margin-top:auto
}

.collabable-plan-card__cta{
	width:100%;
	padding:12px 20px;
	font-size:14px
}

.collabable-plan-card.highlighted .collabable-plan-card__cta{
	background:#111;
	border-color:#111
}

/* Subscription status & required notice: canonical styles in subscribe.css */

/* ==========================================================================
   LOGIN REQUIRED
   ========================================================================== */

.collabable-login-required{
	text-align:center;
	padding:60px 24px;
	max-width:400px;
	margin:40px auto
}

.collabable-login-required .login-required-icon{
	color:#999;
	margin-bottom:20px
}

.collabable-login-required .login-required-icon svg{
	width:64px;
	height:64px
}

.collabable-login-required h2{
	font-size:20px;
	font-weight:600;
	color:#111;
	margin:0 0 12px 0
}

.collabable-login-required p{
	font-size:15px;
	color:#666;
	margin:0 0 24px 0;
	line-height:1.5
}

.collabable-login-required .btn-primary{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 32px;
	background:#111;
	color:#fff;
	font-size:15px;
	font-weight:600;
	text-decoration:none;
	border-radius:8px;
}

/* ==========================================================================
   LOADING STATES
   ========================================================================== */

.collabable-loading{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:40px;
	color:#666
}

.collabable-spinner{
	width:24px;
	height:24px;
	border:2px solid #e5e5e5;
	border-top-color:#111;
	border-radius:50%;
	animation:collabable-spin 0.8s linear infinite
}

@keyframes collabable-spin{
	to{transform:rotate(360deg)}
}

/* ==========================================================================
   GLOBAL TOAST NOTIFICATIONS
   ========================================================================== */

.cb-toast{
	position:fixed;
	top:24px;
	right:24px;
	padding:14px 20px;
	border-radius:10px;
	font-size:14px;
	font-weight:500;
	color:#fff;
	box-shadow:0 8px 32px rgba(0,0,0,0.3);
	z-index:99999;
	transform:translateX(120%);
	opacity:0;
	transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1),opacity 0.25s ease;
	pointer-events:none;
	max-width:400px;
	display:flex;
	align-items:center;
	gap:10px
}

.cb-toast--visible{
	transform:translateX(0);
	opacity:1;
	pointer-events:auto
}

.cb-toast--success{background:#27ae60}
.cb-toast--error{background:#CF0000}
.cb-toast--info{background:#CF0000}
.cb-toast--warning{background:#e67e22}

.cb-toast__icon{
	flex-shrink:0;
	width:20px;
	height:20px
}

@media (max-width:640px){
	.cb-toast{
		top:auto;
		bottom:24px;
		right:16px;
		left:16px;
		max-width:none
	}
}

/* ==========================================================================
   BUTTON LOADING STATE
   ========================================================================== */

.btn--loading{
	position:relative;
	color:transparent !important;
	pointer-events:none
}

.btn--loading::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	width:18px;
	height:18px;
	margin:-9px 0 0 -9px;
	border:2px solid #ddd;
	border-top-color:#fff;
	border-radius:50%;
	animation:collabable-spin 0.7s linear infinite
}

.btn--loading.secondary::after,
.btn--loading.collabable-btn.secondary::after{
	border-color:rgba(17,17,17,0.2);
	border-top-color:#111
}

/* ==========================================================================
   CONTENT LOADING OVERLAY
   ========================================================================== */

.cb-loading-overlay{
	position:relative;
	min-height:80px
}

.cb-loading-overlay::before{
	content:'';
	position:absolute;
	inset:0;
	background:rgba(255,255,255,0.7);
	z-index:10;
	border-radius:inherit
}

.cb-loading-overlay::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	width:28px;
	height:28px;
	margin:-14px 0 0 -14px;
	border:3px solid #e5e5e5;
	border-top-color:#111;
	border-radius:50%;
	animation:collabable-spin 0.8s linear infinite;
	z-index:11
}

/* ==========================================================================
   CHARACTER COUNTER
   ========================================================================== */

.cb-char-counter{
	position:absolute;
	bottom:8px;
	right:12px;
	font-size:12px;
	color:#999;
	pointer-events:none;
	line-height:1
}

.cb-char-counter--warn{color:#e67e22}
.cb-char-counter--over{color:#CF0000;font-weight:600}

/* ==========================================================================
   EMPTY STATES
   ========================================================================== */

.collabable-empty{
	text-align:center;
	padding:48px 24px;
	color:#666
}

.collabable-empty__icon{
	color:#ccc;
	margin-bottom:16px
}

.collabable-empty__icon svg{
	width:64px;
	height:64px
}

.collabable-empty__title{
	font-size:18px;
	font-weight:600;
	color:#111;
	margin:0 0 8px 0
}

.collabable-empty__text{
	font-size:15px;
	margin:0 0 20px 0;
	line-height:1.5
}

.collabable-empty__cta{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:10px 20px;
	background:#111;
	color:#fff;
	font-size:14px;
	font-weight:500;
	border-radius:8px;
	text-decoration:none;
}

/* ==========================================================================
   BADGES
   ========================================================================== */

.collabable-badge{
	display:inline-flex;
	align-items:center;
	padding:4px 10px;
	font-size:12px;
	font-weight:600;
	border-radius:999px;
	background:#f0f0f0;
	color:#333
}

.collabable-badge.host{
	background:#fde8e8;
	color:#CF0000
}

.collabable-badge.guest{
	background:#e8f4ea;
	color:#27ae60
}

.collabable-badge.verified{
	background:#e8f4ea;
	color:#27ae60
}

.collabable-badge.featured{
	background:#fef3c7;
	color:#92400e
}

/* ==========================================================================
   TAGS
   ========================================================================== */

.collabable-tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px
}

.collabable-tag{
	display:inline-flex;
	padding:4px 10px;
	background:#f0f0f0;
	color:#333;
	font-size:12px;
	font-weight:500;
	border-radius:6px;
	text-decoration:none;
	transition:background 0.2s
}

.collabable-tag:hover{
	background:#ddd
}

/* ==========================================================================
   AVATARS
   ========================================================================== */

.collabable-avatar{
	width:48px;
	height:48px;
	border-radius:50%;
	overflow:hidden;
	background:#f0f0f0;
	flex-shrink:0
}

.collabable-avatar img{
	width:100%;
	height:100%;
	object-fit:cover
}

.collabable-avatar.sm{
	width:32px;
	height:32px
}

.collabable-avatar.lg{
	width:64px;
	height:64px
}

.collabable-avatar.xl{
	width:96px;
	height:96px
}

/* ==========================================================================
   LINKS
   ========================================================================== */

.collabable-link{
	color:#111;
	text-decoration:none;
	font-weight:500;
	transition:opacity 0.2s
}

.collabable-link:hover{
	opacity:0.7
}

.collabable-link-muted{
	color:#666;
	text-decoration:none;
	transition:color 0.2s
}

.collabable-link-muted:hover{
	color:#111
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

.collabable-text-sm{
	font-size:13px
}

.collabable-text-muted{
	color:#666
}

.collabable-text-center{
	text-align:center
}

.collabable-font-medium{
	font-weight:500
}

.collabable-font-semibold{
	font-weight:600
}

/* ==========================================================================
   SPACING
   ========================================================================== */

.collabable-mt-4{margin-top:16px}
.collabable-mb-4{margin-bottom:16px}
.collabable-my-4{margin-top:16px;margin-bottom:16px}

.collabable-mt-6{margin-top:24px}
.collabable-mb-6{margin-bottom:24px}
.collabable-my-6{margin-top:24px;margin-bottom:24px}

.collabable-p-4{padding:16px}
.collabable-p-6{padding:24px}

/* ==========================================================================
   FLEX UTILITIES
   ========================================================================== */

.collabable-flex{display:flex}
.collabable-flex-col{flex-direction:column}
.collabable-items-center{align-items:center}
.collabable-justify-center{justify-content:center}
.collabable-justify-between{justify-content:space-between}
.collabable-gap-2{gap:8px}
.collabable-gap-3{gap:12px}
.collabable-gap-4{gap:16px}

/* ==========================================================================
   UPGRADE MODAL
   ========================================================================== */

.collabable-upgrade-modal-overlay{
	position:fixed;
	inset:0;
	z-index:999999;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,0);
	backdrop-filter:blur(0px);
	transition:background 0.25s ease, backdrop-filter 0.25s ease;
	padding:16px
}

.collabable-upgrade-modal-overlay.is-open{
	background:rgba(0,0,0,0.5);
	backdrop-filter:blur(4px)
}

.collabable-upgrade-modal{
	position:relative;
	background:#fff;
	border-radius:16px;
	box-shadow:0 20px 60px rgba(0,0,0,0.15);
	max-width:640px;
	width:100%;
	max-height:90vh;
	overflow-y:auto;
	padding:32px;
	opacity:0;
	transform:translateY(20px) scale(0.97);
	transition:opacity 0.25s ease, transform 0.25s ease
}

.collabable-upgrade-modal-overlay.is-open .collabable-upgrade-modal{
	opacity:1;
	transform:translateY(0) scale(1)
}

.collabable-upgrade-modal__close{
	position:absolute;
	top:16px;
	right:16px;
	background:none;
	border:none;
	cursor:pointer;
	color:#999;
	padding:4px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.collabable-upgrade-modal__icon{
	text-align:center;
	color:#999;
	margin-bottom:16px
}

.collabable-upgrade-modal__icon svg{
	width:48px;
	height:48px
}

.collabable-upgrade-modal__title{
	text-align:center;
	font-size:22px;
	font-weight:700;
	color:#111;
	margin:0 0 8px 0
}

.collabable-upgrade-modal__message{
	text-align:center;
	font-size:15px;
	color:#666;
	margin:0 0 24px 0;
	line-height:1.5
}

/* Comparison Table */
.collabable-upgrade-modal__comparison{
	margin-bottom:24px;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch
}

.collabable-upgrade-modal__table{
	width:100%;
	border-collapse:collapse;
	font-size:13px
}

.collabable-upgrade-modal__table thead th{
	padding:10px 8px;
	font-weight:600;
	text-align:center;
	border-bottom:2px solid #e5e5e5;
	white-space:nowrap
}

.collabable-upgrade-modal__table thead th.collabable-upgrade-modal__table-feature{
	text-align:left;
	font-size:12px;
	color:#666;
	font-weight:500
}

.collabable-upgrade-modal__table-plan{
	vertical-align:bottom
}

.collabable-upgrade-modal__plan-name{
	display:block;
	font-size:14px;
	font-weight:700;
	color:#111
}

.collabable-upgrade-modal__plan-price{
	display:block;
	font-size:12px;
	font-weight:500;
	color:#666;
	margin-top:2px
}

.collabable-upgrade-modal__plan-price small{
	font-size:11px;
	color:#999
}

.collabable-upgrade-modal__table tbody td{
	padding:10px 8px;
	border-bottom:1px solid #f5f5f5;
	text-align:center;
	vertical-align:middle
}

.collabable-upgrade-modal__table tbody td.collabable-upgrade-modal__table-feature{
	text-align:left;
	color:#333;
	font-weight:500
}

.collabable-upgrade-modal__table tbody tr:last-child td{
	border-bottom:none
}

/* Highlighted column (Premium) */
.collabable-upgrade-modal__table thead th.highlighted{
	background:#fef2f2;
	border-radius:8px 8px 0 0;
	position:relative
}

.collabable-upgrade-modal__table tbody td.highlighted{
	background:#fafafa
}

.collabable-upgrade-modal__table tbody tr:last-child td.highlighted{
	border-radius:0 0 8px 8px
}

.collabable-upgrade-modal__check{
	color:#27ae60
}

.collabable-upgrade-modal__dash{
	color:#ccc;
	font-weight:600
}

.collabable-upgrade-modal__text-value{
	font-weight:600;
	color:#111;
	font-size:12px
}

/* Footer / CTA */
.collabable-upgrade-modal__footer{
	text-align:center
}

.collabable-upgrade-modal__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 32px;
	background:#111;
	color:#fff;
	border:1px solid #111;
	border-radius:999px;
	font-size:15px;
	font-weight:600;
	text-decoration:none;
	min-width:220px
}

/* Responsive: full-screen on mobile */
@media (max-width: 600px){
	.collabable-upgrade-modal-overlay{
		padding:0;
		align-items:flex-end
	}

	.collabable-upgrade-modal{
		max-width:100%;
		max-height:95vh;
		border-radius:16px 16px 0 0;
		padding:24px 16px;
		transform:translateY(100%);
		transition:opacity 0.3s ease, transform 0.3s ease
	}

	.collabable-upgrade-modal-overlay.is-open .collabable-upgrade-modal{
		transform:translateY(0)
	}

	.collabable-upgrade-modal__table{
		font-size:12px
	}

	.collabable-upgrade-modal__table thead th,
	.collabable-upgrade-modal__table tbody td{
		padding:8px 4px
	}

	.collabable-upgrade-modal__cta{
		width:100%;
		min-width:0
	}
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */

.cb-lightbox{
	position:fixed;
	inset:0;
	z-index:999999;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,0);
	transition:background 0.3s ease;
	pointer-events:none
}

.cb-lightbox--open{
	background:rgba(0,0,0,0.92);
	pointer-events:auto
}

.cb-lightbox__close{
	position:absolute;
	top:16px;
	right:16px;
	background:#fff;
	border:none;
	color:#111;
	font-size:28px;
	cursor:pointer;
	z-index:10;
	width:44px;
	height:44px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	line-height:1;
	border-radius:50%;
	box-shadow:0 2px 8px rgba(0,0,0,0.15);
	transition:background 0.2s, opacity 0.3s ease;
	opacity:0
}

.cb-lightbox--open .cb-lightbox__close{opacity:1}

.cb-lightbox--open .cb-lightbox__close:hover{background:#e0e0e0}

.cb-lightbox__content{
	display:flex;
	align-items:center;
	justify-content:center;
	max-width:90vw;
	max-height:85vh
}

.cb-lightbox__img{
	max-width:90vw;
	max-height:85vh;
	object-fit:contain;
	border-radius:4px;
	opacity:0;
	transition:opacity 0.3s ease
}

.cb-lightbox--open .cb-lightbox__img{
	opacity:1
}

.cb-lightbox__prev,
.cb-lightbox__next{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	background:#fff;
	border:none;
	color:#111;
	cursor:pointer;
	width:48px;
	height:48px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	z-index:10;
	box-shadow:0 2px 8px rgba(0,0,0,0.15);
	transition:background 0.2s, opacity 0.3s ease;
	opacity:0
}

.cb-lightbox__prev{left:16px}
.cb-lightbox__next{right:16px}

.cb-lightbox--open .cb-lightbox__prev,
.cb-lightbox--open .cb-lightbox__next{opacity:1}

.cb-lightbox--open .cb-lightbox__prev:hover,
.cb-lightbox--open .cb-lightbox__next:hover{
	background:#e0e0e0
}

.cb-lightbox__counter{
	position:absolute;
	bottom:20px;
	left:50%;
	transform:translateX(-50%);
	color:#fff;
	font-size:14px;
	font-weight:500;
	opacity:0;
	transition:opacity 0.3s ease
}

.cb-lightbox--open .cb-lightbox__counter{opacity:1}

@media (max-width:600px){
	.cb-lightbox__prev,
	.cb-lightbox__next{
		padding:8px
	}
	.cb-lightbox__prev{left:8px}
	.cb-lightbox__next{right:8px}
}

/* ==========================================================================
   HOVER LIFT — CARDS
   ========================================================================== */

.collabable-card,
.collabable-plan-card,
.conversation-card,
.collab-grid-card,
.collabable-profile-card{
}


/* ==========================================================================
   SUBSCRIPTION REASSURANCE
   ========================================================================== */

.cb-plan-reassurance{
	text-align:center;
	font-size:13px;
	color:#666;
	margin-top:8px
}

.cb-plan-faq{
	margin-top:40px;
	max-width:600px;
	margin-left:auto;
	margin-right:auto
}

.cb-plan-faq__item{
	border-bottom:1px solid #e5e5e5;
	padding:16px 0
}

.cb-plan-faq__item:last-child{
	border-bottom:none
}

.cb-plan-faq__q{
	font-size:15px;
	font-weight:600;
	color:#111;
	margin:0 0 6px 0
}

.cb-plan-faq__a{
	font-size:14px;
	color:#666;
	margin:0;
	line-height:1.5
}

/* ==========================================================================
   REDUCED MOTION — ACCESSIBILITY
   ========================================================================== */

@media (prefers-reduced-motion:reduce){
	.cb-toast,
	.cb-lightbox,
	.cb-lightbox__img,
	.cb-onboarding-complete__check circle,
	.cb-onboarding-complete__check path,
	.collabable-onboarding__panel.active,
	.collabable-upgrade-modal,
	.collabable-upgrade-modal-overlay{
		animation:none !important;
		transition:none !important
	}
}

/* ==========================================================================
   GLOBAL SLIDER (Smart Slider 3 — all pages except homepage)
   ========================================================================== */

.collabable-global-slider {
    grid-column: 1 / -1;
    width: 100%;
    margin-bottom: 0;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

/* Neutralize Smart Slider "Force Full Width" inside our container */
.collabable-global-slider ss3-force-full-width {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
}

/* Rounded corners on the slide area */
div#n2-ss-2 .n2-ss-slider-1 {
    overflow: hidden !important;
    border-radius: 24px !important;
}

/* Dots INSIDE the slider at bottom */
div#n2-ss-2 .n2-ss-control-bullet {
    position: absolute !important;
    bottom: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    margin: 0 !important;
}

/* Bullet style: expanding dot pill (same as homepage) */
div#n2-ss-2 .nextend-bullet-bar .n2-bullet {
    width: 10px !important;
    height: 10px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.35) !important;
    margin: 0 4px !important;
    transition: width 0.4s ease, border-radius 0.4s ease, background 0.3s ease !important;
}

div#n2-ss-2 .nextend-bullet-bar .n2-bullet.n2-active {
    width: 32px !important;
    height: 10px !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    border: none !important;
}

@media (max-width: 768px) {
    .collabable-global-slider {
        margin-bottom: 0;
        border-radius: 16px;
        min-height: 170px;
    }

    div#n2-ss-2 .n2-ss-slider-1 {
        border-radius: 16px !important;
        min-height: 170px !important;
    }

    div#n2-ss-2 .n2-ss-control-bullet {
        bottom: 8px !important;
    }
}
