/* Nitin Rathod FAQ 1.1 templates: shared base. Fonts are inherited from the theme. */
.nrfaq-tpl { --nrfaq-accent: #2879fe; --nrfaq-accent-2: #db49ff; --nrfaq-text: #1f2937; --nrfaq-muted: #4b5563; --nrfaq-line: #e5e7eb; margin: 2em 0; color: var(--nrfaq-text); line-height: 1.6; box-sizing: border-box; }
.nrfaq-tpl *, .nrfaq-tpl *::before, .nrfaq-tpl *::after { box-sizing: border-box; }
.elementor-widget-nrfaq .nrfaq-tpl { margin: 0; }
.nrfaq-tpl .nrfaq-title { margin: 0 0 0.75em; padding: 0; font-size: 1.75em; line-height: 1.25; font-weight: 700; color: inherit; letter-spacing: normal; text-transform: none; }
.nrfaq-tpl .nrfaq-sub { margin: 0 0 1.5em; color: var(--nrfaq-muted); }
.nrfaq-tpl .nrfaq-list { margin: 0; padding: 0; }

/* Question button: reset theme button styles. */
.nrfaq-tpl .nrfaq-qh { margin: 0; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; line-height: inherit; }
.nrfaq-tpl .nrfaq-q { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 14px; width: 100%; cursor: pointer; font-weight: 600; color: inherit; line-height: 1.45; text-align: start; -webkit-tap-highlight-color: transparent; }
.nrfaq-tpl .nrfaq-q:focus-visible { outline: 2px solid var(--nrfaq-accent); outline-offset: 3px; border-radius: 6px; }
.nrfaq-tpl .nrfaq-q-text { flex: 1; min-width: 0; }

/* Answer: height slides open; collapsed text stays in the page (search engines) but is hidden from screen readers and keyboard. */
.nrfaq-tpl .nrfaq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.nrfaq-tpl .nrfaq-a-clip { overflow: hidden; min-height: 0; visibility: hidden; transition: visibility 0s linear .25s; }
.nrfaq-tpl .nrfaq-item.is-open > .nrfaq-a { grid-template-rows: 1fr; }
.nrfaq-tpl .nrfaq-item.is-open > .nrfaq-a > .nrfaq-a-clip { visibility: visible; transition-delay: 0s; }
.nrfaq-tpl .nrfaq-a-inner, .nrfaq-tpl .nrfaq-ga, .nrfaq-tpl .nrfaq-ba { color: var(--nrfaq-muted); }
.nrfaq-tpl .nrfaq-a-inner > *, .nrfaq-tpl .nrfaq-ga > *, .nrfaq-tpl .nrfaq-ba > * { margin: 0 0 .75em; }
.nrfaq-tpl .nrfaq-a-inner > :last-child, .nrfaq-tpl .nrfaq-ga > :last-child, .nrfaq-tpl .nrfaq-ba > :last-child { margin-bottom: 0; }
.nrfaq-tpl .nrfaq-a-inner a, .nrfaq-tpl .nrfaq-ga a { color: var(--nrfaq-accent); text-decoration: underline; }

@media (max-width: 600px) {
	.nrfaq-tpl .nrfaq-title { font-size: 1.5em; }
}
@media (prefers-reduced-motion: reduce) {
	.nrfaq-tpl *, .nrfaq-tpl *::before, .nrfaq-tpl *::after { transition: none !important; }
}
