
/* 
* Toggle functionality
* Used in accordions and custom tables, etc.
* Depentds on @link /assets/js/apuri/scripts.js Toggle functionality section
*/

.elementor-widget-container .click,
.editor-styles-wrapper .click {
	cursor: pointer;
	user-select: none;
}

.click + * {
	opacity: 0;
	height: 0;
	overflow: hidden;
	margin-bottom: 0 !important;
}

.click + .open{
	opacity: 1;
}



/* the following code is just stylistic */

.accordion {
	border-bottom: 1px solid #ccc; 
}

.accordion .gb-button-wrapper {
	border-top: 1px solid #ccc;
	margin-left: 0;
	padding-top: 0;
	padding-left: .5em;
	align-items: center;
}
	
.gb-button-wrapper:hover,
.gb-button-wrapper.toggled,
.gb-button-wrapper:focus {
	color: red;
}

.elementor-widget-container .accordion .gb-button-wrapper .gb-button,
.editor-styles-wrapper .accordion .gb-button-wrapper .gb-button,
.accordion .gb-button-wrapper .gb-button {
	padding-left: .5em;
}

.elementor-widget-container .accordion .gb-button-wrapper .gb-button,
.accordion .gb-button-wrapper .gb-button,
.editor-styles-wrapper .accordion .gb-button-wrapper .block-editor-inner-blocks,
.editor-styles-wrapper .accordion .gb-button-wrapper .wp-block,
.editor-styles-wrapper .accordion .gb-button-wrapper .gb-button {
	/* flex: 1; */
	line-height: unset;
	text-transform: unset;
	margin: 0;
	border-radius: unset;
	border: none;
	justify-content: left;
}


/* the icon */

/* TODO: dodati has submenu opciju i di god bude jos trebalo */
.elementor-widget-container .icon-plus::before,
.editor-styles-wrapper .icon-plus::before,
.accordion .icon-plus::before {
	transform-origin: center;
	padding-right: 0 !important;
	transition: all 0.5s ease;
	content: "";
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	margin-right: .5em;
	display: inline-block;
	background:
		linear-gradient(#FF5E5E 0 0) center / 17px 1px no-repeat,
		linear-gradient(#FF5E5E 0 0) center / 1px 17px no-repeat;
}

/* TODO: dodati has submenu opciju i di god bude jos trebalo */
.elementor-widget-container .icon-plus:hover::before,
.editor-styles-wrapper .icon-plus:hover::before,
.elementor-widget-container .icon-plus:focus::before,
.editor-styles-wrapper .icon-plus:focus::before,
.elementor-widget-container .icon-plus.toggled::before,
.editor-styles-wrapper .icon-plus.toggled::before,
.accordion .icon-plus:hover::before,
.accordion .icon-plus:focus::before,
.accordion .icon-plus.toggled::before {
	transform: rotate(45deg);
}

/* Refined accordion spacing and icon states. */
.accordion .gb-button-wrapper.click {
	position: relative;
	padding: 18px 0 18px calc(.5em + 17px + 1.5em);
	align-items: center;
	background: none;
}

.accordion .gb-button-wrapper.click .gb-button {
	padding: 0;
	font-size: 1.1rem;
	line-height: 1.35;
}

.accordion .click + * {
	box-sizing: border-box;
	padding: 0 0 0 calc(.5em + 17px + 1.5em);
	font-size: 1rem;
	line-height: 1.6;
}

.accordion .click + .open {
	padding-top: 0;
	padding-bottom: 24px;
}

.accordion .click + * p,
.accordion .click + * li,
.accordion .click + * .gb-headline-text {
	font-size: 1rem;
	line-height: 1.6;
}

.accordion .icon-plus::before {
	content: "";
	position: absolute;
	left: .5em;
	top: 50%;
	width: 17px;
	height: 17px;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center;
	transition: transform 0.28s ease;
	background-repeat: no-repeat;
	background:
		linear-gradient(#FF5E5E 0 0) center / 17px 1px no-repeat,
		linear-gradient(#FF5E5E 0 0) center / 1px 17px no-repeat;
}

.accordion .icon-plus.toggled::before {
	transform: translateY(-50%) rotate(45deg);
}

/* Use a real glyph for the accordion icon so the spin state paints reliably. */
.accordion .icon-plus::before {
	content: "+";
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: .5em;
	top: 50%;
	width: 17px;
	height: 17px;
	background: none;
	color: #FF5E5E;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center;
	transition: transform 0.28s ease;
}

.accordion .icon-plus.toggled::before {
	transform: translateY(-50%) rotate(45deg);
}

/* Keep the accordion icon visible above GenerateBlocks row content. */
.accordion .gb-button-wrapper.click.icon-plus::before {
	z-index: 2;
	pointer-events: none;
	text-decoration: none;
}

/* Final accordion overrides: visible icon, readable answer type, consistent spacing. */
.accordion .gb-button-wrapper.click.icon-plus {
	padding: 18px 0 !important;
	background: none !important;
}

.accordion .gb-button-wrapper.click.icon-plus::before,
.accordion .gb-button-wrapper.click.icon-plus::after {
	content: none !important;
	display: none !important;
}

.accordion .gb-button-wrapper.click.icon-plus > .gb-button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 1.1em !important;
	padding: 0 !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
}

.accordion .gb-button-wrapper.click.icon-plus > .gb-button::before {
	content: "+" !important;
	flex: 0 0 22px !important;
	width: 22px !important;
	height: 22px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #FF5E5E !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 30px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transform: rotate(0deg) !important;
	transform-origin: center !important;
	transition: transform 0.28s ease !important;
}

.accordion .gb-button-wrapper.click.icon-plus.toggled > .gb-button::before {
	transform: rotate(45deg) !important;
}

.accordion .click + * {
	box-sizing: border-box !important;
	padding: 0 0 14px calc(22px + 1.1em) !important;
	margin-bottom: 14px !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

.accordion .click + .open {
	padding-top: 0 !important;
	padding-bottom: 14px !important;
	margin-bottom: 14px !important;
}

.accordion .click + * p,
.accordion .click + * li,
.accordion .click + * a,
.accordion .click + * .gb-headline-text {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

.accordion .click + * p,
.accordion .click + * .gb-headline-text {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
}

.accordion .click + * > :last-child,
.accordion .click + * > .gb-inside-container > :last-child {
	margin-bottom: 0 !important;
}

/* Real accordion icon span inserted into legacy GenerateBlocks accordions. */
.accordion .gb-button-wrapper.click.icon-plus {
	display: flex !important;
	align-items: center !important;
	gap: 1.1em !important;
}

.accordion .gb-button-wrapper.click.icon-plus .ifl-accordion-icon {
	flex: 0 0 22px !important;
	width: 22px !important;
	height: 22px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #FF5E5E !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 30px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	transform: rotate(0deg) !important;
	transform-origin: center !important;
	transition: transform 0.28s ease !important;
}

.accordion .gb-button-wrapper.click.icon-plus.toggled .ifl-accordion-icon {
	transform: rotate(45deg) !important;
}

.accordion .gb-button-wrapper.click.icon-plus > .gb-button::before {
	content: none !important;
	display: none !important;
}

/* Closed accordion panels should not reserve vertical space. */
.accordion .click + * {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.accordion .click + .open {
	padding-top: 0 !important;
	padding-bottom: 14px !important;
	margin-bottom: 14px !important;
}
