/* Genesis Child Theme - Gutenberg Front-End Block Styles
 *
 * Default content: 1200px centered.
 * alignwide / alignfull: outer may go full width; inners stay 1200 unless wide.
 *
 * @package GenesisChild
 * @since 1.0.5
 */


/* ## Default block content width
--------------------------------------------- */

.entry-content > *:not(.alignfull):not(.alignwide):not(.wp-block-kadence-rowlayout):not(.kb-row-layout-wrap):not([class*="wp-block-kadence-"]):not(.wp-block-group):not(.wp-block-cover):not(.wp-block-columns):not(.wp-block-media-text) {
	max-width: var(--wp--style--global--content-size, var(--genesis-child-content-width, 1200px));
	margin-left: auto;
	margin-right: auto;
}

/* Kadence top-level blocks: never re-box; rows manage their own width */
.entry-content > [class*="wp-block-kadence-"] {
	max-width: 100%;
}

.entry-content > .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size, 1400px);
	width: 100%;
}

.entry-content > .alignfull {
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
	width: 100%;
}

.entry-content > .alignfull > .wp-block-group__inner-container,
.entry-content > .alignfull > .wp-block-cover__inner-container,
.wp-block-cover.alignfull .wp-block-cover__inner-container,
.wp-block-group.alignfull > .wp-block-group__inner-container {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--content-size, var(--genesis-child-content-width, 1200px));
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}


/* ## Block: Buttons
--------------------------------------------- */

/* Exclude Kadence (.kb-button also carries wp-block-button__link) */
.wp-block-button__link:not(.kb-button):not(.kt-button) {
	background-color: #333;
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	font-weight: 700;
	padding: 16px 24px;
	text-decoration: none;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.wp-block-button__link:not(.kb-button):not(.kt-button):hover,
.wp-block-button__link:not(.kb-button):not(.kt-button):focus {
	background-color: #0073e5;
	color: #fff;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(.kb-button):not(.kt-button) {
	background-color: transparent;
	border: 2px solid #333;
	color: #333;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(.kb-button):not(.kt-button):hover,
.wp-block-button.is-style-outline .wp-block-button__link:not(.kb-button):not(.kt-button):focus {
	background-color: #333;
	color: #fff;
}


/* ## Block: Cover
--------------------------------------------- */

.wp-block-cover {
	min-height: 400px;
}


/* ## Block: Columns
--------------------------------------------- */

.wp-block-columns {
	margin-bottom: 28px;
	max-width: 100%;
}

.wp-block-column {
	min-width: 0;
}


/* ## Block: Separator
--------------------------------------------- */

.wp-block-separator {
	border: none;
	border-top: 1px solid #eee;
	margin: 28px auto;
}

.wp-block-separator.is-style-wide {
	border-top-width: 1px;
}

.wp-block-separator.is-style-dots {
	border: none;
}


/* ## Block: Quote
--------------------------------------------- */

.wp-block-quote {
	border-left: 4px solid #0073e5;
	margin: 28px 0;
	padding: 0 0 0 24px;
}

.wp-block-quote cite {
	display: block;
	font-size: 14px;
	font-style: italic;
	margin-top: 12px;
}

.wp-block-pullquote {
	border-top: 4px solid #333;
	border-bottom: 4px solid #333;
	padding: 30px 0;
	text-align: center;
}


/* ## Block: Table
--------------------------------------------- */

.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table td,
.wp-block-table th {
	border: 1px solid #eee;
	padding: 10px;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: #f5f5f5;
}


/* ## Block: Image & Gallery
--------------------------------------------- */

.wp-block-image img {
	height: auto;
	max-width: 100%;
}

.wp-block-image figcaption {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	text-align: center;
}

.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
	font-size: 14px;
}


/* ## Color Palette Front-End Classes
--------------------------------------------- */

.has-primary-blue-color { color: #0073e5; }
.has-primary-blue-background-color { background-color: #0073e5; }
.has-dark-color { color: #333; }
.has-dark-background-color { background-color: #333; }
.has-light-gray-color { color: #f5f5f5; }
.has-light-gray-background-color { background-color: #f5f5f5; }
.has-white-color { color: #fff; }
.has-white-background-color { background-color: #fff; }
.has-medium-gray-color { color: #999; }
.has-medium-gray-background-color { background-color: #999; }
.has-success-green-color { color: #28a745; }
.has-success-green-background-color { background-color: #28a745; }
.has-warning-orange-color { color: #ffc107; }
.has-warning-orange-background-color { background-color: #ffc107; }
.has-danger-red-color { color: #dc3545; }
.has-danger-red-background-color { background-color: #dc3545; }


/* ## Font Size Classes
--------------------------------------------- */

.has-small-font-size { font-size: 14px; }
.has-normal-font-size { font-size: 18px; }
.has-large-font-size { font-size: 24px; line-height: 1.3; }
.has-larger-font-size { font-size: 32px; line-height: 1.2; }
.has-extra-large-font-size { font-size: 48px; line-height: 1.1; }


/* ## Gradient Classes
--------------------------------------------- */

.has-blue-to-dark-gradient-background {
	background: linear-gradient(135deg, #0073e5 0%, #333333 100%);
}

.has-light-to-white-gradient-background {
	background: linear-gradient(180deg, #f5f5f5 0%, #ffffff 100%);
}

.has-dark-to-blue-gradient-background {
	background: linear-gradient(135deg, #333333 0%, #0073e5 100%);
}


/* ## Responsive
--------------------------------------------- */

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

	.entry-content > .alignfull > .wp-block-group__inner-container,
	.entry-content > .alignfull > .wp-block-cover__inner-container,
	.wp-block-cover.alignfull .wp-block-cover__inner-container,
	.wp-block-group.alignfull > .wp-block-group__inner-container {
		padding-left: 20px;
		padding-right: 20px;
	}

}

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

	.entry-content > .alignfull > .wp-block-group__inner-container,
	.entry-content > .alignfull > .wp-block-cover__inner-container,
	.wp-block-cover.alignfull .wp-block-cover__inner-container,
	.wp-block-group.alignfull > .wp-block-group__inner-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.has-larger-font-size {
		font-size: 28px;
	}

	.has-extra-large-font-size {
		font-size: 36px;
	}

}
