/**
 * Title: Paddle BC Child Theme Global Styles
 * Version: 1.0.58
 * Description: Global styles for masonry grid titles, metadata pills, and specific shortcode layouts.
 * Development Notes: Updated contact buttons to #da9038 background with white text. Indentation audit complete.
 */

/* 1. Global Utilities & Base Typography */
	@font-face {
		font-family: Great Forest Small Caps;
		src: url(/wp-content/themes/paddlebc-vs1/assets/fonts/greatforestv2-modified-smallcaps.449f2a.woff2) format("woff2"),
		url(/wp-content/themes/paddlebc-vs1/assets/fonts/greatforestv2-modified-smallcaps.fd80dd.woff) format("woff"),
		url(/wp-content/themes/paddlebc-vs1/assets/fonts/greatforestv2-modified-smallcaps.ea3055.ttf) format("ttf");
	}

	.rounded-corners {
		border-radius: 14px;
	}
	.pbc-header {
		font-size: 4rem !important;
		margin-bottom: 2rem;
		font-family: Great Forest Small Caps,sans-serif;
		font-weight: 400 !important;
		line-height: .775;
		color: #309c75 !important;
	}
	.pbc-subheader-small {
		font-size: 1.25rem;
		margin-bottom: 2rem;
		font-family: Great Forest Small Caps,sans-serif;
		font-weight: 400 !important;
		line-height: .775;
	}

/* 2. Header & Breadcrumbs */
	#page-header .breadcrumbs {
		margin-top: -6px !important;
	}

	#page-header .breadcrumbs-container .breadcrumbs,
	.category-info a,
	.tmb a.tmb-term-evidence,
	.tmb p.t-entry-meta.t-entry-type {
		background-color: #da9038;
		border: 1px solid #da9038;
		border-radius: 14px;
		display: inline-block;
		width: auto;
		padding: 8px 18px !important;
		box-shadow: 0 4px 15px rgba(0,0,0,0.2);
	}

	#page-header .breadcrumbs-container .breadcrumbs,
	#page-header .breadcrumbs-container .breadcrumbs a,
	.category-info a,
	.tmb .t-entry-category a.tmb-term-evidence,
	#vert-posts-list p.t-entry-meta > span.t-entry-category > a.bordered-cat {
		color: #FFF !important;
	}

	.breadcrumbs,
	.breadcrumbs a,
	.uncode-share h6,
	.breadcrumbs p,
	.category-info a,
	.tmb a.tmb-term-evidence,
	.tmb p.t-entry-meta.t-entry-type span {
		font-family: Montserrat, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
		text-transform: uppercase;
		text-decoration: none;
		font-weight: 700;
		font-size: 11px !important;
		letter-spacing: 0.05em;
	}

	.breadcrumbs a {
		color: #da9038 !important;
	}

	.breadcrumbs p {
		font-weight: 400;
	}

	.breadcrumbs a:hover {
		text-decoration: underline;
	}

	.breadcrumbs a:first-child {
		padding-left: 0 !important;
	}

	span.category-info {
		font-size: 0;
	}

	span.category-info a {
		font-size: 14px;
		display: inline-block;
	}

	span.category-info a:not(:last-child) {
		margin-right: 10px; 
	}
	/* The animation logic */
	@keyframes subtleBounce {
		0%, 20%, 50%, 80%, 100% {
			transform: translateY(0);
		}
		40% {
			transform: translateY(-8px); /* How high it bounces */
		}
		60% {
			transform: translateY(-4px); /* The secondary smaller bounce */
		}
	}

	/* Applying it to your class */
	.scroll-icon {
		animation: subtleBounce 2s infinite;
	}
/* 3. Navigation & Menus */
	.widget_nav_menu li a, 
	.pbs-submenu-link a {
		letter-spacing: 0.00em;
		font-weight: 600;
		font-family: Montserrat, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
		text-transform: uppercase;
		font-size: 12px;
	}

	.custom-vertical-nav {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.custom-vertical-nav .nav-link {
		display: flex;
		align-items: center;
		text-decoration: none;
		color: #15697c;
		letter-spacing: 0.00em;
		font-weight: 600;
		font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
		text-transform: uppercase;
		font-size: 12px;
		transition: opacity 0.2s ease;
	}

	.custom-vertical-nav .icon-circle {
		background-color: #15697c;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		margin-right: 14px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.custom-vertical-nav .icon-circle i {
		color: #ffffff;
		font-size: 16px;
		margin: 0 !important; 
		padding: 0 !important;
		line-height: 1 !important;
		display: inline-block !important;
		width: auto !important;
	}

	.custom-vertical-nav .nav-link:hover {
		opacity: 0.8;
	}

	.pbc-tab-nav.green .nav-tabs > li.active > a, 
	.pbc-tab-nav.green .nav-tabs > li > a:hover {
		color: #309c75 !important;
		border-color: #309c75 !important;
	}

	.pbc-tab-nav.blue .nav-tabs > li.active > a, 
	.pbc-tab-nav.blue .nav-tabs > li > a:hover {
		color: #3498db !important;
		border-color: #3498db !important;
	}

	.blog-navigation ul li a {
		font-weight: 600;
		font-family: Montserrat, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
		text-transform: uppercase;
		font-size: 12px;
	}

	.blog-navigation ul li a:hover, 
	.style-dark .blog-navigation a:not(.btn-text-skin):hover {
		color: #FFF;
		text-decoration: underline;
	}

/* 4. Sidebars & Widgets */
	.rp-thumb-widget-container {
		display: flex;
		flex-direction: column;
		gap: 15px;
		margin-top: 10px;
	}

	.rp-item {
		display: flex;
		align-items: flex-start;
		gap: 12px;
	}

	.rp-thumb {
		flex-shrink: 0;
		width: 65px;
		height: 65px;
	}

	.rp-thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 4px;
		display: block;
	}

	.rp-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.rp-title {
		display: block;
		font-size: 14px;
		line-height: 1.3;
		font-weight: 600;
		text-decoration: none;
		color: #333;
		margin-bottom: 4px;
	}

	.rp-title:hover {
		color: #0073aa;
	}

	.rp-date {
		font-size: 12px;
		color: #777;
		text-transform: uppercase;
	}

/* 5. Shortcodes: Social & Lists */
	.pbc-community-social {
		display: flex;
		gap: 20px;
		padding: 10px 0;
		align-items: center;
		justify-content: flex-start;
	}

	.pbc-social-header {
		font-family: Montserrat, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 11px !important;
		letter-spacing: 0.05em;
		color: #da9038;
		margin-right: 5px;
	}

	.pbc-community-social a {
		color: #da9038;
		transition: opacity 0.2s ease, transform 0.2s ease;
		display: inline-flex;
		text-decoration: none;
	}

	.pbc-community-social a:hover {
		opacity: 0.8;
		transform: translateY(-2px);
		color: #da9038;
	}

	.pbc-community-social a i.fa {
		margin: 0 !important;
		font-size: 28px !important;
	}

	.pbc-related-posts-vertical-list .tmb {
		margin-bottom: 30px;
	}

	.pbc-related-posts-vertical-list .t-inside {
		display: flex;
		align-items: center;
		gap: 20px;
	}

	.pbc-related-posts-vertical-list .t-entry-visual-cont {
		position: relative;
		overflow: hidden;
	}

	.pbc-related-posts-vertical-list .t-entry-visual-cont img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		display: block;
	}

/* 6. Shortcode: [pbc_listing_contact_buttons] */
	.pbc-listing-contact-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
		margin: 20px 0;
	}

	.pbc-contact-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background-color: #da9038;
		color: #ffffff !important;
		padding: 12px 24px;
		border-radius: 12px;
		font-family: Montserrat, sans-serif;
		font-weight: 600;
		font-size: 14px;
		text-transform: uppercase;
		text-decoration: none;
		min-width: 180px;
		flex: 1 1 calc(33.333% - 15px);
		transition: transform 0.2s ease, background-color 0.2s ease;
		box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	}

	.pbc-contact-btn:hover {
		background-color: #c48232;
		transform: translateY(-2px);
		text-decoration: none;
	}

	.pbc-contact-btn i.fa {
		margin-right: 12px;
		font-size: 20px !important;
		color: #ffffff;
	}

	a.pbc-read-more-trigger:hover {
		color: #309c75 !important;
	}

	/* Events Calendar ------- */
    .t-entry-cf-event_start_date {
        border: 1px solid #CCC;
        padding: 5px 10px;
        display: inline-block;
        position: absolute;
        top: -16px;
        z-index: 2;
        background-color: #FFF;
    }
    .t-entry-cf-event_start_date .eventmonth {
        font-size: 12px;
        text-transform: uppercase;
    }
    .event-detail {
        margin: 0 !important;
    }
	article.category-events .post-author-container, article.category-events .post-content-container {
		display: none;
	}

	/* Event Metadata Shortcode Styling */
	.event-details-meta {
		background-color: #f9f9f9;
		padding: 25px;
		border-radius: 8px;
		border: 1px solid #e0e0e0;
		margin-bottom: 30px;
	}

	.event-details-meta .event-detail {
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 12px !important;
		color: #444;
	}

	.event-details-meta strong {
		color: #000;
		font-weight: 700;
		margin-right: 5px;
	}

	/* Multi-day Schedule List */
	.multi-day-schedule {
		list-style: none !important;
		padding: 0 !important;
		margin: 0 0 20px 0 !important;
		border-left: 3px solid #0073aa; /* Accent color bar */
		padding-left: 15px !important;
	}

	.multi-day-schedule li {
		font-size: 15px;
		margin-bottom: 10px !important;
		padding: 5px 0;
		border-bottom: 1px solid #eee;
	}

	.multi-day-schedule li:last-child {
		border-bottom: none;
		margin-bottom: 0 !important;
	}

	/* Links Styling */
	.event-details-meta a {
		color: #0073aa;
		text-decoration: underline;
		font-weight: 600;
	}

	.event-details-meta a:hover {
		color: #005177;
		text-decoration: none;
	}

	/* Map adjustment */
	.acf-map {
		margin-top: 25px !important;
		border-radius: 6px;
		overflow: hidden;
	}


/* 7. Grids & Metadata */
	.pbc-region-community-grid .t-entry-title {
		font-family: Montserrat, sans-serif !important;
		text-transform: uppercase !important;
		font-weight: 700 !important;
		font-size: 14px !important;
		letter-spacing: 0.02em;
	}

	.pbc-grid-metadata {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 10px;
	}

	.pbc-grid-count-pill {
		display: inline-block;
		padding: 4px 10px;
		border-radius: 20px;
		color: #fff;
		font-family: Montserrat, sans-serif;
		font-size: 11px;
		font-weight: 600;
		text-transform: none;
		line-height: 1;
	}

	.pbc-grid-count-pill.is-waterway {
		background-color: #3498db;
	}

	.pbc-grid-count-pill.is-itinerary {
		background-color: #45a864;
	}

	.pbc-region-community-grid .tmb {
		margin-bottom: 25px !important;
	}

/* 8. Theme Overrides (Uncode) */
	.tmb a.tmb-term-evidence {
		border-radius: 12px;
		padding: 3px 10px 2px 10px;
	}

	.t-entry-category.t-taxtype-pbc_tax_featured_location,
	.tmb .t-entry p.t-entry-meta .t-entry-category.t-taxtype-pbc_tax_featured_location {
		display: none;
	}

	.share-button.share-inline .social.top li.social-threads,
	.share-button.share-inline .social.top li.social-whatsapp,
	.share-button.share-inline .social.top li.social-bluesky,
	.share-button.share-inline .social.top li.social-xing,
	.share-button.share-inline .social.top li.social-paper-plane {
		display: none !important;
	}

	.uncode_text_column a {
		text-decoration: underline;
	}

/* --- Post Content Image & Gallery Styles Only --- */

	/* 1. Base Image & Figure Reset within Posts */
	article.type-post figure {
		margin: 0 0 1.5rem 0;
	}

	article.type-post img {
		max-width: 100%;
		height: auto;
		vertical-align: middle;
	}

	/* 2. Image Alignment & Spacing */
	article.type-post .alignleft {
		float: left;
		margin: 0 2em 1.5em 0;
	}

	article.type-post .alignright {
		float: right;
		margin: 0 0 1.5em 2em;
	}

	article.type-post .aligncenter {
		display: block;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	/* Standard top-margin spacing extracted from your code */
	article.type-post :where(p, h1, h2, h3, h4, h5, h6, ul, ol) + .wp-block-image {
		margin-top: 3rem;
	}

	/* 3. Single Image Styles (Border Radius 1.25rem / 20px) */
	article.type-post .wp-block-image img,
	article.type-post .wp-block-image {
		border-radius: 1.25rem;
	}

	/* 4. Gallery Container (Flexbox Layout) */
	article.type-post .wp-block-gallery.is-layout-flex {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5em; /* Extracted gap */
		align-items: stretch;
		margin: 2rem 0;
	}

	/* Ensure gallery items behave like columns */
	article.type-post .wp-block-gallery.is-layout-flex .wp-block-image {
		margin: 0;
		display: flex;
		flex-grow: 1;
		flex-direction: column;
	}

	/* 5. Gallery Images Specific Styles (Border Radius 0.825rem / 13px) */
	article.type-post .wp-block-gallery .wp-block-image img {
		border-radius: 0.825rem;
		width: 100%;
		height: 100%;
		object-fit: cover; /* Keeps images uniform in "cropped" mode */
	}

	/* 6. Gallery Column Math (Ensuring images side-by-side) */
	/* If the gallery is "columns-default" (usually 3 columns) */
	article.type-post .wp-block-gallery.columns-default .wp-block-image {
		width: calc(33.33% - 0.5em);
		min-width: 250px; /* Forces stack on mobile */
	}

	/* 7. Image Styling Extras (Cropped & Ratios) */
	article.type-post .is-cropped .wp-block-image img {
		aspect-ratio: 1/1;
	}

	article.type-post .o-position-top { object-position: top; }
	article.type-post .o-position-center { object-position: center; }
	article.type-post .o-position-bottom { object-position: bottom; }

	/* 8. Fix for Nested Figure margins */
	article.type-post .wp-block-gallery .wp-block-image figure {
		margin: 0;
		width: 100%;
		height: 100%;
	}



/* 9. Responsive Rules */
	@media (max-width: 768px) {
		.pbc-related-posts-vertical-list .t-inside {
			flex-direction: column;
			align-items: flex-start;
			gap: 15px;
		}

		.pbc-related-posts-vertical-list .t-entry-visual {
			width: 100% !important;
			max-width: 100% !important;
		}

		.pbc-related-posts-vertical-list .t-entry-text-tc {
			padding: 0 !important;
		}

		.pbc-community-social {
			gap: 15px;
			flex-wrap: wrap;
		}

		.pbc-contact-btn {
			flex: 1 1 100%;
			min-width: 100%;
		}
	}

	@media (max-width: 569px) {
		.pbc-related-posts-vertical-list .tmb-no-bg.tmb-content-lateral-responsive.tmb .t-entry-text .t-entry-text-tc {
			padding-top: 0px !important;
		}
	}