/*
 * Sidebar Layout — observatorio-cero-theme
 *
 * Consolidated sidebar layout component for posts, pages, and CPTs:
 *   - Responsive layout (hidden on mobile, visible from 1024px+)
 *   - Sticky positioning with calculated offset
 *   - Sidebar inner layout and typography scaling
 *
 * Uses only CSS custom properties from theme.json / color-modes.css.
 */

/* ═══════════════════════════════════════════
 * Sidebar Container — Responsive visibility
 * ═══════════════════════════════════════════ */

.oc-sidebar,
.oc-sidebar-1,
.oc-sidebar-actualidad {
	display: none;
}

@media (min-width: 1024px) {
	.oc-sidebar,
	.oc-sidebar-1,
	.oc-sidebar-actualidad {
		display: block;
		flex: 0 0 calc(25% - var(--wp--preset--spacing--50));
		max-width: calc(25% - var(--wp--preset--spacing--50));
	}
}

/* Sidebar inner — sticky positioning */
.oc-sidebar > .wp-block-template-part,
.oc-sidebar > div:first-child,
.oc-sidebar > .wp-block-group,
.oc-sidebar-1 > .wp-block-template-part,
.oc-sidebar-1 > div:first-child,
.oc-sidebar-1 > .wp-block-group,
.oc-sidebar-actualidad > .wp-block-template-part,
.oc-sidebar-actualidad > div:first-child {
	height: auto;
}

.oc-sidebar-inner,
.oc-sidebar-1-inner,
.oc-sidebar-actualidad-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
	overflow: visible;
	height: fit-content;
	width: 100%;
}

/* Hide paragraph tags injected by wpautop around shortcodes inside sidebar inner */
.oc-sidebar-inner > p,
.oc-sidebar-1-inner > p,
.oc-sidebar-actualidad-inner > p {
	display: none;
}

.oc-sidebar > .oc-sidebar-inner,
.oc-sidebar > div > .oc-sidebar-inner,
.oc-sidebar-1 > .oc-sidebar-1-inner,
.oc-sidebar-1 > div > .oc-sidebar-1-inner,
.oc-sidebar-actualidad > .oc-sidebar-actualidad-inner,
.oc-sidebar-actualidad > div > .oc-sidebar-actualidad-inner {
	position: sticky;
	top: calc(var(--wp--preset--spacing--50) + var(--oc-admin-bar-height, 0px) + var(--oc-header-height, 0px));
}

.oc-sidebar-inner .oc-sidebar-inner,
.oc-sidebar-1-inner .oc-sidebar-1-inner,
.oc-sidebar-actualidad-inner .oc-sidebar-actualidad-inner {
	position: static;
}

/* ═══════════════════════════════════════════
 * Sidebar — Smaller font sizes for CTA and Cards
 * ═══════════════════════════════════════════ */

.oc-sidebar,
.oc-sidebar .wp-block-group,
.oc-sidebar-1,
.oc-sidebar-1 .wp-block-group,
.oc-sidebar-actualidad,
.oc-sidebar-actualidad .wp-block-group {
	font-size: var(--wp--preset--font-size--body-sm);
}

.oc-sidebar .wp-block-heading,
.oc-sidebar-1 .wp-block-heading,
.oc-sidebar-actualidad .wp-block-heading {
	font-size: var(--wp--preset--font-size--headline-sm);
}

.oc-sidebar .wp-block-post-title,
.oc-sidebar-1 .wp-block-post-title,
.oc-sidebar-actualidad .wp-block-post-title {
	font-size: var(--wp--preset--font-size--body-md);
}

.oc-sidebar .wp-block-button__link,
.oc-sidebar-1 .wp-block-button__link,
.oc-sidebar-actualidad .wp-block-button__link {
	font-size: var(--wp--preset--font-size--body-sm);
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

/* ═══════════════════════════════════════════
 * CTA "Mantente Informado" — Sidebar Button Hover
 * ═══════════════════════════════════════════ */

.oc-sidebar .oc-cta-services__card .wp-block-button__link,
.oc-sidebar-1 .oc-cta-services__card .wp-block-button__link,
.oc-sidebar-actualidad .oc-cta-services__card .wp-block-button__link {
	transition:
		background-color var(--wp--custom--ui--interaction--medium),
		color var(--wp--custom--ui--interaction--medium),
		transform var(--wp--custom--ui--interaction--medium),
		box-shadow var(--wp--custom--ui--interaction--medium);
}

.oc-sidebar .oc-cta-services__card .wp-block-button__link:hover,
.oc-sidebar .oc-cta-services__card .wp-block-button__link:focus-visible,
.oc-sidebar-1 .oc-cta-services__card .wp-block-button__link:hover,
.oc-sidebar-1 .oc-cta-services__card .wp-block-button__link:focus-visible,
.oc-sidebar-actualidad .oc-cta-services__card .wp-block-button__link:hover,
.oc-sidebar-actualidad .oc-cta-services__card .wp-block-button__link:focus-visible {
	transform: scale(var(--wp--custom--ui--scale--subtle));
	box-shadow: var(--wp--preset--shadow--medium);
}

/* ═══════════════════════════════════════════
 * Print Styles
 * ═══════════════════════════════════════════ */

@media print {
	.oc-sidebar,
	.oc-sidebar-1,
	.oc-sidebar-actualidad,
	.oc-sidebar .oc-cta-services__card,
	.oc-sidebar-1 .oc-cta-services__card,
	.oc-sidebar-actualidad .oc-cta-services__card {
		display: none !important;
	}
}

/* ═══════════════════════════════════════════
 * Reduced Motion
 * ═══════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
	.oc-sidebar-inner,
	.oc-sidebar-1-inner,
	.oc-sidebar-actualidad-inner {
		position: relative;
		top: auto;
	}

	.oc-sidebar .oc-cta-services__card .wp-block-button__link,
	.oc-sidebar-1 .oc-cta-services__card .wp-block-button__link,
	.oc-sidebar-actualidad .oc-cta-services__card .wp-block-button__link {
		transition: none;
	}
}
