/*
 * IZB Nordic: existing content from the parent theme and plugins inside izb-nordic's templates.
 * Parent shortcodes (button, divide, gap, columns, news_box/blog_posts), WPBakery (rows, text
 * separator, accordion, tabs), Contact Form 7, Memlist, Quran widget, Cool Timeline (spacing and colours).
 * The plugins keep their own CSS and JS; these rules only bring colours, radii and spacing to the tokens.
 */

/* ---------- Parent shortcodes ---------- */

/* [button color="green|blue2|grey"] */
.izb-prose .mom_button_wrap { margin: 6px 0; }
.izb-prose .mom_button_ob { display: inline-block; margin: 4px 0; border-radius: var(--izb-radius-md) !important; }
.izb-prose a.button,
.izb-prose a.mom_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 10px 20px;
	border: 0;
	border-radius: var(--izb-radius-md) !important;
	background: var(--izb-green);
	color: var(--izb-paper);
	font: 600 15.5px/1.25 var(--izb-font-body) !important;
	text-align: center;
	text-decoration: none;
}
.izb-prose a.button:hover,
.izb-prose a.mom_button:hover { background: var(--izb-green-deep); color: var(--izb-paper); }
.izb-prose a.mom_button.blue2_bt { background: var(--izb-ink); }
.izb-prose a.mom_button.blue2_bt:hover { background: var(--izb-green-deep); }
.izb-prose a.mom_button.grey_bt { background: var(--izb-paper); color: var(--izb-ink); box-shadow: inset 0 0 0 1.5px var(--izb-line); }
.izb-prose a.mom_button.grey_bt:hover { color: var(--izb-green); box-shadow: inset 0 0 0 1.5px var(--izb-green); }
/* The parent's icon font is not loaded; its empty <i> icons are hidden. */
.izb-prose .mom_button .bt_icon { display: none; }

/* [divide] */
.izb-prose .mom_hr { height: 0; margin: 20px 0 !important; border-top: 1px solid var(--izb-line); }
.izb-prose .mom_hr .mom_inner_hr { display: none; }

/* [gap] and clearers */
.izb-prose .clear,
.izb-prose .clearboth { clear: both; }

/* [one_third], [two_third], [one_half] (+ _last) */
.izb-prose :is(.one_half, .one_third, .two_third, .one_fourth, .three_fourth) { margin: 0 0 20px; min-width: 0; }
@media (min-width: 800px) {
	.izb-prose :is(.one_half, .one_third, .two_third, .one_fourth, .three_fourth) { float: left; margin-right: 4%; }
	.izb-prose .one_half { width: 48%; }
	.izb-prose .one_third { width: 30.66%; }
	.izb-prose .two_third { width: 65.33%; }
	.izb-prose .one_fourth { width: 22%; }
	.izb-prose .three_fourth { width: 74%; }
	.izb-prose :is(.one_half, .one_third, .two_third, .one_fourth, .three_fourth).last { margin-right: 0; }
}

/* [news_box], [blog_posts] and sidebar widgets placed in WPBakery columns: paper cards */
.izb-prose :is(.news-box, .widget) {
	margin: 0 0 20px;
	padding: 20px;
	background: var(--izb-paper);
	border-radius: var(--izb-radius-panel);
	box-shadow: var(--izb-shadow);
	overflow: hidden;
}
.izb-prose :is(.nb-header, .widget-head) :is(h2, h3, .nb-title, .widget-title) { font: 600 22px/1.2 var(--izb-font-head); letter-spacing: -.015em; margin: 0 0 12px; }
.izb-prose :is(.news-box, .widget) :is(ul) { list-style: none; padding: 0; }
.izb-prose :is(.news-box, .widget) li { padding: 8px 0; border-bottom: 1px solid var(--izb-line); margin: 0; }
.izb-prose :is(.news-box, .widget) li:last-child { border-bottom: 0; }
.izb-prose :is(.news-box, .widget) a { text-decoration: none; color: var(--izb-ink); }
.izb-prose :is(.news-box, .widget) a:hover { color: var(--izb-green); }
.izb-prose :is(.news-box, .scrolling-box) img { border-radius: var(--izb-radius-md); }
.izb-prose :is(.news-box, .widget) :is(.entry-title, h2, h3) { font-family: var(--izb-font-head); font-weight: 600; font-size: 17.5px; line-height: 1.3; }
.izb-prose :is(.mom-post-meta, .entry-meta, .post-meta) { font-size: 14.5px; color: var(--izb-ink-2); }
.izb-prose .mom-social-share,
.izb-prose .post-format-icon { display: none; }

/* ---------- WPBakery ---------- */

/* Rows inside the 1200px container: no negative gutters that would cause horizontal scrolling */
.izb-prose.is-wide .vc_row { margin-inline: 0; }
.izb-prose.is-wide .vc_row .vc_column_container > .vc_column-inner { padding-inline: 0; }
@media (min-width: 768px) {
	.izb-prose.is-wide .vc_row .vc_column_container:not(:last-child) > .vc_column-inner { padding-right: 24px; }
}
.izb-prose .wpb_content_element { margin-bottom: 24px; }
.izb-prose .wpb_text_column :last-child { margin-bottom: 0; }
/* Running text in full-width WPBakery columns keeps a readable measure */
.izb-prose .wpb_text_column > .wpb_wrapper > :where(p, ul, ol, h2, h3, h4, blockquote) { max-width: 75ch; }
.izb-prose .wpb_text_column > .wpb_wrapper > :where(p[style*="center"]) { max-width: none; }

/* Text separator ("O nama", "Om oss"): a plain section heading, no ornamental lines */
.izb-prose .vc_separator.vc_separator-has-text { display: block; height: auto; margin: 40px 0 12px; }
.izb-prose .vc_separator.vc_separator-has-text .vc_sep_holder { display: none; }
.izb-prose .vc_separator.vc_separator-has-text h4 { margin: 0; padding: 0; font: 600 clamp(24px, 2.6vw, 28px)/1.12 var(--izb-font-head); letter-spacing: -.015em; text-align: left; }
.izb-prose .vc_separator:not(.vc_separator-has-text) .vc_sep_line { border-color: var(--izb-line) !important; border-top-width: 1px !important; border-top-style: solid !important; }

/* Accordion (vc_tta-accordion, e.g. the old Džemati page) */
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel { margin-bottom: 8px; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-heading,
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-heading {
	background: var(--izb-paper) !important;
	border: 1px solid var(--izb-line) !important;
	border-radius: var(--izb-radius-md) !important;
	background-image: none !important;
	box-shadow: none;
}
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-heading { border-color: var(--izb-green) !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-heading:hover { border-color: var(--izb-green) !important; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-title { font: 600 18px/1.25 var(--izb-font-head) !important; letter-spacing: -.01em; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-title > a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 12px 48px 12px 18px;
	color: var(--izb-ink) !important;
	text-decoration: none;
}
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-title > a:hover,
.izb-prose .vc_tta.vc_tta-accordion .vc_active .vc_tta-panel-title > a { color: var(--izb-green) !important; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-controls-icon::before,
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-controls-icon::after { border-color: currentColor !important; }
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-body,
.izb-prose .vc_tta.vc_tta-accordion .vc_active .vc_tta-panel-body {
	background: var(--izb-paper) !important;
	border: 1px solid var(--izb-green) !important;
	border-top: 0 !important;
	border-radius: 0 0 var(--izb-radius-md) var(--izb-radius-md) !important;
	padding: 4px 18px 16px !important;
}
.izb-prose .vc_tta.vc_tta-accordion .vc_tta-panel-body p { margin: 8px 0 0; }

/* Tabs (vc_tta-tabs) */
.izb-prose .vc_tta.vc_tta-tabs .vc_tta-tab > a {
	background: var(--izb-paper) !important;
	border: 1px solid var(--izb-line) !important;
	border-radius: var(--izb-radius-sm) var(--izb-radius-sm) 0 0 !important;
	color: var(--izb-ink) !important;
	font-weight: 600;
	text-decoration: none;
}
.izb-prose .vc_tta.vc_tta-tabs .vc_tta-tab.vc_active > a { color: var(--izb-green) !important; border-bottom-color: var(--izb-paper) !important; }
.izb-prose .vc_tta.vc_tta-tabs .vc_tta-panel-body { background: var(--izb-paper) !important; border: 1px solid var(--izb-line) !important; border-radius: 0 var(--izb-radius-md) var(--izb-radius-md) !important; }

/* ---------- Contact Form 7 ---------- */
.izb-prose .wpcf7 { max-width: 760px; }
.izb-prose .wpcf7 table,
.izb-prose .wpcf7 td { background: transparent !important; border: 0; padding: 0; }
.izb-prose .wpcf7 table { display: block; overflow: visible; width: 100%; }
.izb-prose .wpcf7 tbody { display: grid; gap: 0 20px; }
.izb-prose .wpcf7 tr { display: contents; }
.izb-prose .wpcf7 td { display: block; }
@media (min-width: 640px) {
	.izb-prose .wpcf7 tbody { grid-template-columns: 1fr 1fr; }
	.izb-prose .wpcf7 td[colspan] { grid-column: 1 / -1; }
}
.izb-prose .wpcf7 p { text-align: left !important; margin: 0 0 16px; }
.izb-prose .wpcf7 fieldset:not(.hidden-fields-container) { margin: 0 0 12px; padding: 14px 20px 6px; border: 0; border-radius: var(--izb-radius-panel); background: var(--izb-paper); box-shadow: var(--izb-shadow); }
.izb-prose .wpcf7 legend { float: left; width: 100%; padding: 0; margin: 0 0 4px; font: 600 17.5px/1.3 var(--izb-font-head); }
.izb-prose .wpcf7 fieldset ul { clear: both; margin: 0 0 8px; padding-left: 1.2em; }
.izb-prose .wpcf7 fieldset li { margin: 2px 0; }
.izb-prose .wpcf7 li > p { margin: 0; }
.izb-prose .wpcf7 label { display: block; font-weight: 600; font-size: 16px; }
.izb-prose .wpcf7 label font { color: var(--izb-warn-ink); }
.izb-prose .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.izb-prose .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--izb-line);
	border-radius: var(--izb-radius-md);
	background: var(--izb-paper);
	color: var(--izb-ink);
	font: 400 17px/1.4 var(--izb-font-body);
}
.izb-prose .wpcf7 textarea { min-height: 160px; resize: vertical; }
.izb-prose .wpcf7 :is(input, select, textarea):focus-visible { border-color: var(--izb-green); }
.izb-prose .wpcf7 input[type="submit"],
.izb-prose .wpcf7 .wpcf7-submit {
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: var(--izb-radius-md);
	background: var(--izb-green);
	color: var(--izb-paper);
	font: 600 15.5px/1.2 var(--izb-font-body);
	cursor: pointer;
}
.izb-prose .wpcf7 input[type="submit"]:hover { background: var(--izb-green-deep); }
.izb-prose .wpcf7 .wpcf7-spinner { vertical-align: middle; }
.izb-prose .wpcf7-not-valid-tip { margin-top: 4px; color: var(--izb-warn-ink); font-size: 14.5px; font-weight: 600; }
.izb-prose .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 10px 14px; border: 0; border-radius: var(--izb-radius-md); background: var(--izb-green-tint); color: var(--izb-green); font-weight: 600; }
.izb-prose .wpcf7 form:is(.invalid, .unaccepted, .payment-required, .failed, .aborted, .spam) .wpcf7-response-output { background: var(--izb-warn-tint); color: var(--izb-warn-ink); }

/* ---------- Memlist (membership application) ---------- */
.izb-prose .registeruser iframe,
.izb-prose .cstmcommoniframe { display: block; width: 100%; border: 0; border-radius: var(--izb-radius-md); background: var(--izb-paper); }
.izb-prose a.cstm_color_white { color: var(--izb-green); }
.izb-prose :is(.memlistlogin_email, .memlistlogin_password) { min-height: 48px; padding: 10px 14px; border: 1px solid var(--izb-line); border-radius: var(--izb-radius-md); font: inherit; }

/* ---------- Quran widget / shortcode ---------- */
.izb-prose :is(.quran_random, .quran-text, .quran_text) { margin: 0 0 20px; }
.izb-prose :is(.quran_random, .quran-text, .quran_text) select { min-height: 44px; border: 1px solid var(--izb-line); border-radius: var(--izb-radius-md); background: var(--izb-paper); padding: 0 12px; font: inherit; }

/* ---------- Cool Timeline (spacing and colours only) ---------- */
.izb-prose :is(.cool-timeline-wrapper, .cool_timeline, .ctl-wrapper) { margin-block: 8px 24px; }
.izb-prose :is(.cool-timeline-wrapper, .cool_timeline, .ctl-wrapper) a { text-decoration: none; }
.izb-prose :is(.cool-timeline-wrapper, .cool_timeline, .ctl-wrapper) :is(h2, h3, .content-title, .ctl-title) { font-family: var(--izb-font-head); letter-spacing: -.01em; }
