/* Additions for the Joomla 5/6 port (dialog, FAQ accordion, contact form, privacy notice). */

/* Reports dialog (replaces the MooTools modal 600x600 iframe) */
.tg-dialog { padding: 0; border: 1px solid #b79b6b; border-radius: 6px; width: min(640px, 94vw); height: min(680px, 90vh); }
.tg-dialog::backdrop { background: rgba(0, 0, 0, .55); }
.tg-dialog__bar { display: flex; justify-content: space-between; align-items: center; padding: 6px 10px; background: #f4efe6; }
.tg-dialog__title { font-weight: bold; }
.tg-dialog__close { font-size: 1.6em; line-height: 1; background: none; border: 0; cursor: pointer; }
.tg-dialog__frame { width: 100%; height: calc(100% - 42px); border: 0; }

/* FAQ */
.fsf_faq_answer[hidden] { display: none; }
.fsf_faq_question:focus-visible { outline: 2px solid #63698c; outline-offset: 2px; }

/* Contact form (com_contact) */
.com-contact__form fieldset { border: 0; padding: 0; margin: 0; }
.com-contact__form .control-group { margin: 0 0 12px; }
.com-contact__form .control-label { display: block; margin-bottom: 4px; font-weight: bold; }
.com-contact__form input[type="text"], .com-contact__form input[type="email"], .com-contact__form input[type="tel"],
.com-contact__form textarea { width: 270px; max-width: 100%; box-sizing: border-box; padding: 6px; border: 1px solid #b5b5b5; border-radius: 3px; font: inherit; }
.com-contact__form textarea { height: 180px; }
.com-contact__form .form-check, .com-contact__form .checkbox { display: flex; gap: 6px; align-items: flex-start; }
.com-contact__form button[type="submit"] { padding: 6px 22px; cursor: pointer; }
.com-contact__form .star, .com-contact__form .form-control-feedback { color: #b00; }
.tg-hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap; }

/* Privacy notice above the form */
.tg-privacy-notice { font-size: .9em; background: #f8f6f1; border: 1px solid #e2d9c6; padding: 10px 12px; margin: 0 0 16px; max-width: 640px; }
.tg-privacy-notice p { margin: 0 0 6px; }
.tg-footer-links { text-align: center; font-size: .9em; padding: 6px 0; }
.tg-footer-links a, div.kr { color: #ededed; }

/* Footer on a single line: company text, privacy link, credit */
div.footerr { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 0 18px; white-space: nowrap; }
div.footerr > div { float: none; margin: 0; padding: 0; line-height: 46px; width: auto; }
div.footerr .tg-footer-links { padding: 0; }
div.footerr p, div.footerr ul { margin: 0; padding: 0; list-style: none; }
div.kr { float: none; font-size: .9em; }
@media (max-width: 640px) { div.footerr { white-space: normal; flex-wrap: wrap; height: auto; min-height: 46px; } div.footerr > div { line-height: 1.5; } }

/* Floating privacy acknowledgement */
.tg-consent { position: fixed; bottom: 12px; inset-inline: 12px; margin-inline: auto; max-width: 680px; z-index: 1000; display: flex; gap: 12px; align-items: center; justify-content: space-between; background: #1B4270; color: #fff; padding: 10px 14px; border-radius: 6px; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); font-size: .95em; }
.tg-consent[hidden] { display: none; }
.tg-consent a { color: #fff; text-decoration: underline; }
.tg-consent__ok { flex: none; padding: 5px 18px; border: 0; border-radius: 3px; background: #fff; color: #1B4270; font: inherit; font-weight: bold; cursor: pointer; }

/* Language switcher: J5 markup differences */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.mod-languages ul.lang-inline li.lang-active { background: none; }

/* Contact page: one heading (contact name) like the old form; J6 adds "Contact" / "Contact form" headings */
.com-contact h2 { display: none; }
.com-contact__miscinfo, .com-contact__misc { margin: 0 0 16px; }
