/* CT Theme Extras - global UI tweaks */

/* ===========================================
   🎨 READ MORE BLOCK - SVG ARROW STYLES
   =========================================== */

.ct-readmore-wrapper {
	display: inline-block;
}

.ct-readmore-wrapper a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.3s ease;
}

.ct-readmore-wrapper a .screen-reader-text {
	display: none;
}

.ct-readmore-arrow {
	display: inline-block;
	vertical-align: middle;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.ct-arrow-sm .ct-readmore-arrow {
	width: 12px;
	height: 12px;
}

.ct-arrow-md .ct-readmore-arrow {
	width: 16px;
	height: 16px;
}

.ct-arrow-lg .ct-readmore-arrow {
	width: 20px;
	height: 20px;
}

.ct-readmore-wrapper:hover .ct-readmore-arrow {
	transform: translateX(4px);
}

.ct-arrow-round .ct-readmore-arrow {
	border-radius: 50%;
	padding: 4px;
	background-color: rgba(0, 123, 186, 0.1);
}

.ct-arrow-round:hover .ct-readmore-arrow {
	background-color: rgba(0, 123, 186, 0.2);
}

.ct-arrow-square .ct-readmore-arrow {
	border-radius: 0;
	padding: 4px;
	background-color: rgba(0, 123, 186, 0.1);
}

.ct-arrow-square:hover .ct-readmore-arrow {
	background-color: rgba(0, 123, 186, 0.2);
}

.ct-arrow-bg .ct-readmore-arrow {
	border-radius: 4px;
	padding: 4px;
	background-color: rgba(0, 123, 186, 0.1);
}

.ct-arrow-bg:hover .ct-readmore-arrow {
	background-color: rgba(0, 123, 186, 0.2);
}

/* ===========================================
   🎨 CUSTOM CATEGORY BUTTON STYLE
   =========================================== */

.buttoned {
    display: flex;
    gap: 8px;
    align-items: center;
}

.buttoned a {
    border: 1px solid #BCD4E3;
    padding: 5px 14px;
    border-radius: 50px;
    letter-spacing: 0.28px;
    font-size: 14px;
    line-height: 1.5;
    color: #416D88;
}

.buttoned a:hover {
    background: #BCD4E3;
    color: #000;
}

/* ===========================================
   🎨 GENERAL UI TWEAKS
   =========================================== */

.ct-share-box {
    flex-direction: row !important;
    justify-content: center;
    gap: 12px;
}

.ct-share-box .ct-module-title {
    margin: 0 !important;
}

.ct-share-box a .ct-icon-container {
	border: 1px solid #072635;
    border-radius: 4px !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
}

.wp-block-table td,
.wp-block-table th {
    padding: 24px 32px;
	vertical-align: top;
	border: 0 !important;
}

.wp-block-table thead {
    background: #072635;
    color: #fff;
}

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

.ct-header.ct-header-flex .ct-sticky-container .ct-container {
    display: flex !important;
    justify-content: center;
}

.ct-search-box {
    max-width: 320px !important;
}

.ct-search-box.button-type-text,
.ct-search-box.button-type-icon-text {
	max-width: 370px !important;
}

.ct-search-box.align-center.stretch {
	max-width: 100% !important;
}

.ct-header-type-33 .ct-header-socials {
    max-width: fit-content;
    width: 100%;
}

.ct-search-form-controls .wp-element-button[data-button-style="text"],
.ct-search-form-controls .wp-element-button[data-button-style="icon-text"] {
    width: fit-content !important;
    padding: 0 22px !important;
}

.ct-search-form-controls .wp-element-button[data-button-style="icon-text"] {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ct-search-form-controls .wp-element-button[data-button-style="text"]:after,
.ct-search-form-controls .wp-element-button[data-button-style="icon-text"]:after {
    content: "Search";
}

.ct-search-form-controls .wp-element-button[data-button-style="text"] svg {
    display: none;
}

.ct-footer .widget-menu {
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ct-stack-form .gform_fields {
    display: flex !important;
}

.ct-stack-form .gfield--type-email {
    width: 100%;
}

.ct-stack-form .gfield--type-submit {
	width: 100%;
    max-width: 38px;
}

.ct-stack-form.ct-arrow-icon .gfield--type-submit {
    max-width: 32px;
	min-height: 32px !important;
	max-height: 32px !important;
}

.ct-stack-form.with-normal-button .gfield--type-submit {
	width: 100%;
    max-width: 185px;
}

.ct-stack-form input {
    box-shadow: none !important;
}

.ct-stack-form.ct-arrow-icon input {
	padding-left: 0 !important;
}

.ct-stack-form.with-normal-button input {
    padding: 20px 14px !important;
	font-size: 18px !important;
	line-height: 22px !important;
	font-weight: 400 !important;
	height: auto !important;
}

.ct-stack-form .gform-button {
	padding: 8px !important;
}

.ct-stack-form.ct-arrow-icon .gform-button {
	padding: 6.4px !important;
	border-radius: 50px !important;
	max-width: 32px;
	min-height: 32px !important;
}

.ct-stack-form.with-normal-button .gform-button {
	padding: 20px 16px !important;
	width: 185px !important;
	font-size: 18px !important;
	line-height: 22px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
}

.ct-stack-form .gform-button:hover {
	background-color: #E1ECF2 !important;
}

.ct-stack-form.ct-arrow-icon .gform-button:hover {
	background-color: #016aac !important;
}

.ct-stack-form .gform-footer {
    margin: 0 !important;
}

.ct-no-border-first-child .gspb_iconsList__item:first-child {
    border: 0 !important;
    padding-left: 0 !important;
}

.ct-no-border-last-child .gspb_iconsList__item:last-child {
    border: 0 !important;
    padding-right: 0 !important;
}

.ct-footer-rounded-social-icons .ct-icon-container {
    width: 40px;
    height: 40px;
}

/* ==========================================================================
   🎯 ADVANCED POSTS BLOCKS (migrated from ct-advanced-posts-blocks.css)
   ========================================================================== */

/* AVAILABLE CLASSES FOR ADVANCED POSTS BLOCKS
   See documentation within this section for usage examples. */

/* Custom arrow styling */
.custom-arrow {
	width: 24px;
	height: 24px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.custom-arrow-prev path {
	stroke: #007cba;
}

.custom-arrow-next path {
	stroke: #007cba;
}

.custom-arrow:hover path {
	stroke: #005a87;
	transform: scale(1.1);
}

.flexy-arrow-prev,
.flexy-arrow-next {
	transform: unset !important
}

/* Arrow Size Variations */
.arrow-sm .custom-arrow {
	width: 20px;
	height: 20px;
}

.arrow-md .custom-arrow {
	width: 28px;
	height: 28px;
}

.arrow-lg .custom-arrow {
	width: 32px;
	height: 32px;
}

/* Arrow Shape Variations */
.arrow-round .flexy-arrow-prev,
.arrow-round .flexy-arrow-next {
	border-radius: 50%;
	padding: 4px;
	background-color: rgba(0, 123, 186, 0.1);
	transition: all 0.3s ease;
}

.arrow-round .flexy-arrow-prev:hover,
.arrow-round .flexy-arrow-next:hover {
	background-color: rgba(0, 123, 186, 0.2);
}

.arrow-square .flexy-arrow-prev,
.arrow-square .flexy-arrow-next {
	border-radius: 0;
	padding: 4px;
	background-color: rgba(0, 123, 186, 0.1);
	transition: all 0.3s ease;
}

.arrow-square .flexy-arrow-prev:hover,
.arrow-square .flexy-arrow-next:hover {
	background-color: rgba(0, 123, 186, 0.2);
}

/* Arrow Background Variations */
.arrow-bg-none .flexy-arrow-prev,
.arrow-bg-none .flexy-arrow-next {
	background: transparent !important;
	padding: 0 !important;
}

.arrow-bg-none .flexy-arrow-prev:hover,
.arrow-bg-none .flexy-arrow-next:hover {
	background: transparent !important;
	transform: unset !important;
}

.arrow-bg .flexy-arrow-prev,
.arrow-bg .flexy-arrow-next {
	background: rgba(0, 123, 186, 0.9);
	padding: 8px;
	transition: all 0.3s ease;
}

.arrow-bg .flexy-arrow-prev:hover,
.arrow-bg .flexy-arrow-next:hover {
	background: rgba(0, 91, 135, 1);
	transform: scale(1.1);
}

.arrow-shadow-none .flexy-arrow-prev,
.arrow-shadow-none .flexy-arrow-next {
	box-shadow: none;
}

/* Generic arrow helpers – used when wrapper has these classes */
.arrow-outside .flexy-arrow-prev {
	left: -50px;
}

.arrow-outside .flexy-arrow-next {
	right: -50px;
}

.arrow-visible .flexy-arrow-prev,
.arrow-visible .flexy-arrow-next {
	opacity: 1 !important;
	visibility: visible !important;
	display: flex !important;
	transition: all 0.3s ease;
}

.arrow-color .custom-arrow path {
	stroke: #007cba;
	transition: all 0.3s ease;
}

.arrow-color .flexy-arrow-prev:hover .custom-arrow path,
.arrow-color .flexy-arrow-next:hover .custom-arrow path {
	stroke: #005a87;
	transform: scale(1.1);
}

/* Advanced Posts - Bullets / Dots Navigation */
.flexy-pills[data-type="pill"],
.has-pills-pill .flexy-pills {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 32px 0 0;
	width: 100%;
}

.flexy-pills[data-type="pill"] ol,
.has-pills-pill .flexy-pills ol {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
	align-items: center;
}

.flexy-pills[data-type="pill"] li,
.has-pills-pill .flexy-pills li {
	width: 11px !important;
	height: 11px;
	margin: 0;
	padding: 0;
	position: relative;
	transition: width 0.3s ease;
	flex: 0 0 11px !important;
	transform: none !important;
}

.flexy-pills[data-type="pill"] li:before,
.has-pills-pill .flexy-pills li:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #416D88;
	border-radius: 50px;
	transition: width 0.3s ease, border-radius 0.3s ease, background 0.3s ease;
	display: block;
	transform: none !important;
}

.flexy-pills[data-type="pill"] li.active,
.has-pills-pill .flexy-pills li.active {
	width: 60px !important;
	flex: 0 0 60px !important;
	transform: none !important;
}

.flexy-pills[data-type="pill"] li.active:before,
.has-pills-pill .flexy-pills li.active:before {
	width: 100%;
	background: #072635;
	transform: none !important;
}

.flexy-pills[data-type="circle"] li,
.has-pills-circle .flexy-pills li {
	height: 20px;
}

.flexy-pills[data-type="circle"] li:before,
.has-pills-circle .flexy-pills li:before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 100%;
	box-shadow: inset 0 0 0 5px var(--flexyInitialPill, rgba(44, 62, 80, 0.9));
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.flexy-pills[data-type="circle"] li.active:before,
.has-pills-circle .flexy-pills li.active:before {
	transform: scale3d(2, 2, 1);
	box-shadow: inset 0 0 0 1px var(--flexyActivePill, rgba(44, 62, 80, 0.9));
}

/* ===========================================
   🎨 RESPONSIVE ADJUSTMENTS
   =========================================== */

@media (max-width: 768px) {
	.custom-arrow {
		width: 20px;
		height: 20px;
	}
	
	.flexy-arrow-prev,
	.flexy-arrow-next {
		padding: 6px;
	}
	
	.arrow-position-outside .flexy-arrow-prev {
		left: -40px;
	}
	
	.arrow-position-outside .flexy-arrow-next {
		right: -40px;
	}

	.ct-arrow-sm .ct-readmore-arrow {
		width: 14px;
		height: 14px;
	}
	
	.ct-arrow-md .ct-readmore-arrow {
		width: 18px;
		height: 18px;
	}
	
	.ct-arrow-lg .ct-readmore-arrow {
		width: 20px;
		height: 20px;
	}
}