/* phpBB's own building blocks (prosilver's markup) in the site's style, for
   every page the SeniorenNet style does not draw itself: the control panel,
   posting, private messages, the member pages, moderation. Loaded after
   base.css, before sennet.css. Everything is scoped under .fr. */

.fr { --fr-field: #cdd6e6; }
/* prosilver's rules for <html> and <body> land on the container: undo the
   ones that do not belong on a block inside the site's page. */
.fr { height: auto; margin: 0; padding: 0 0 40px; background: transparent; color: #1f2937; font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; word-wrap: break-word; }

/* Headings and text. */
.fr h2, .fr .h2 { font: 700 30px/1.2 Georgia, 'Times New Roman', serif; color: #1a1a1a; margin: 6px 0 16px; border: 0; }
.fr h3 { font: 700 20px/1.3 Georgia, 'Times New Roman', serif; color: #1a1a1a; margin: 0 0 10px; border: 0; text-transform: none; letter-spacing: 0; }
.fr h2.solo { margin-bottom: 18px; padding-bottom: 12px; border-bottom: 3px double #1a1a1a; }
.fr a:not(.fr-btn):not(.button):hover { text-decoration: underline; }
.fr hr { border: 0; border-top: 1px solid var(--fr-line); margin: 16px 0; }
.fr hr.divider, .fr .back2top { display: none; }

/* Cards. */
.fr .panel, .fr .forabg, .fr .forumbg, .fr .post:not(.fr-post), .fr .stat-block, .fr .cp-main .panel {
  background: #fff; border: 0; border-radius: 14px; box-shadow: 0 6px 20px rgba(31, 41, 55, .07); padding: 18px 22px; margin: 0 0 16px; color: #1f2937; }
.fr .panel .inner, .fr .forabg .inner, .fr .forumbg .inner { padding: 0; }
.fr .bg1, .fr .bg2, .fr .bg3 { background-color: #fff; }
.fr .panel.bg2, .fr .panel.bg3 { background: #fbfaf6; box-shadow: none; border: 1px solid var(--fr-line); }
.fr .stat-block h3 { font: 700 13px/1.2 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 8px; }
.fr .content { font: 17px/1.7 Inter, system-ui, sans-serif; color: #1f2937; }
.fr .content blockquote, .fr blockquote { margin: 0 0 14px; padding: 12px 16px; border: 0; border-left: 4px solid var(--fr-tone); background: #f6f7fb; border-radius: 0 10px 10px 0; font-size: 16px; }

/* Forms: labels above or beside, large rounded fields. */
.fr fieldset { border: 0; padding: 0; margin: 0; font-size: 16px; min-width: 0; }
.fr fieldset dl { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 8px 22px; padding: 10px 0; margin: 0; border-top: 1px solid #f0ede6; }
.fr fieldset dl:first-child { border-top: 0; }
.fr fieldset dt { width: auto; float: none; padding: 0; }
.fr fieldset dt label, .fr fieldset dt { font-weight: 600; color: #1f2937; }
.fr fieldset dt span, .fr fieldset dd span.explain, .fr .explain { display: block; font-weight: 400; font-size: 14px; color: var(--fr-mute); }
.fr fieldset dd { margin: 0; padding: 0; margin-left: 0 !important; }
.fr fieldset dd label { display: inline-flex; align-items: center; gap: 8px; margin: 0 14px 6px 0; font-weight: 400; }
.fr .inputbox, .fr textarea, .fr select,
.fr input[type=text], .fr input[type=password], .fr input[type=email], .fr input[type=number], .fr input[type=search], .fr input[type=url], .fr input[type=tel] {
  font: 16px/1.4 Inter, system-ui, sans-serif; color: #1f2937; padding: 10px 14px; border: 1.5px solid var(--fr-field); border-radius: 10px; background: #fff; box-sizing: border-box; max-width: 100%; }
.fr .inputbox:hover, .fr .inputbox:focus, .fr textarea:focus, .fr select:focus, .fr input:focus { border-color: var(--fr-ink); outline: 0; box-shadow: 0 0 0 3px #e3ebf8; }
.fr .inputbox.autowidth, .fr input.tiny { width: auto; }
.fr textarea.inputbox, .fr #message-box textarea { width: 100%; min-height: 220px; font-size: 18px; line-height: 1.6; }
.fr input[type=radio], .fr input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--fr-ink); vertical-align: middle; }
.fr select { padding-right: 34px; }
.fr .fields1 dl, .fr .fields2 dl { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); }
.fr .fields1 dd .inputbox:not(.autowidth), .fr .fields2 dd .inputbox:not(.autowidth) { width: 100%; }

/* Buttons: the site's pills. */
.fr .button, .fr a.button, .fr input.button1, .fr input.button2, .fr input.button3, .fr button.button1, .fr button.button2, .fr .button1, .fr .button2 {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--fr-field);
  background: #fff; color: #1f2937; font: 700 15px/1.2 Inter, system-ui, sans-serif; text-shadow: none; box-shadow: none; cursor: pointer; text-decoration: none; }
.fr .button:hover, .fr input.button2:hover, .fr .button2:hover { border-color: var(--fr-ink); background: #fff; text-decoration: none; }
.fr input.button1, .fr button.button1, .fr .button1, .fr input[type=submit][name=post], .fr input[type=submit][name=submit] { background: var(--fr-ink); border-color: var(--fr-ink); color: #fff; }
.fr input.button1:hover, .fr .button1:hover { background: #22395f; }
.fr .button-icon-only { padding: 9px 12px; }
.fr .button .icon, .fr .button-secondary { color: inherit; }
.fr .submit-buttons { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; padding: 16px 0 0; }
.fr .caret { border: 0; }

/* Bars above and below lists. */
.fr .action-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0 14px; font-size: 15px; }
.fr .action-bar .pagination { margin-left: auto; float: none; }
.fr .pagination ul { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.fr .pagination li a, .fr .pagination li span { display: inline-grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border-radius: 999px; border: 1.5px solid var(--fr-field); background: #fff; color: #1f2937; font-weight: 600; font-size: 15px; }
.fr .pagination li.active span { background: var(--fr-ink); border-color: var(--fr-ink); color: #fff; }
.fr .pagination li.ellipsis span { border: 0; background: none; }
.fr .jumpbox, .fr .page-jump, .fr .dropdown-page-jump { display: none; }

/* Lists in phpBB's own markup (memberlist, moderation, the control panel). */
.fr ul.topiclist { margin: 0; padding: 0; list-style: none; }
.fr ul.topiclist li.header { background: #faf8f2; border-bottom: 1px solid var(--fr-line); color: #9aa1ab; font: 700 12px/1.3 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; border-radius: 10px 10px 0 0; }
.fr ul.topiclist li.header dt, .fr ul.topiclist li.header dd { color: inherit; padding: 10px 8px; }
.fr ul.topiclist li.row { border-top: 1px solid var(--fr-line); background: #fff; }
.fr ul.topiclist li.row:hover { background: #fbfaf6; }
.fr li.row strong, .fr li.row a.topictitle { font: 700 18px/1.3 Georgia, serif; color: #1a1a1a; }
.fr .row-item:before, .fr .row-item > dt:before { display: none; }
.fr ul.topiclist dt, .fr ul.topiclist dd { padding: 10px 8px; border: 0; }

/* Tables. */
.fr table.table1 { width: 100%; border-collapse: collapse; font-size: 15px; }
.fr table.table1 thead th { background: #faf8f2; color: #6b7280; font: 700 12px/1.3 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 10px 12px; border-bottom: 1px solid var(--fr-line); text-align: left; }
.fr table.table1 tbody td { padding: 12px; border-bottom: 1px solid var(--fr-line); background: #fff; }
.fr table.table1 tbody tr:hover td { background: #fbfaf6; }
.fr .forumbg-table { padding: 0; overflow: hidden; }

/* Tabs and the control panel's menu. */
.fr .tabs { margin: 0 0 14px; }
.fr .tabs ul, .fr .tabs .tab-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fr .tabs .tab > a { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--fr-field); background: #fff; color: #1f2937; font-weight: 600; font-size: 15px; }
.fr .tabs .activetab > a, .fr .tabs .tab > a:hover { background: var(--fr-ink); border-color: var(--fr-ink); color: #fff; text-decoration: none; }
.fr .cp-menu { float: none; width: auto; }
.fr .cp-main { float: none; width: auto; }
.fr #cp-menu { float: none; width: auto; margin: 0 0 16px; }
.fr #cp-main { float: none; width: auto; }
.fr .navigation ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.fr .navigation li a { display: block; padding: 8px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--fr-line); color: #1f2937; font-size: 15px; }
.fr .navigation .active-subsection a { background: var(--fr-soft); border-color: var(--fr-tone); font-weight: 700; }

/* Dropdowns and notices. */
.fr .dropdown { background: #fff; border: 1px solid var(--fr-line); border-radius: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, .12); padding: 6px; }
.fr .dropdown .pointer { display: none; }
.fr .dropdown li { border: 0; }
.fr .dropdown a { color: #1f2937; }
.fr .rules, .fr .notice, .fr p.error, .fr .error { border-radius: 10px; padding: 10px 14px; margin: 0 0 12px; font-size: 15px; }
.fr .rules { background: #fbf7ec; border: 1.5px solid #efe3c4; }
.fr .error, .fr p.error { background: #fdecea; color: #9b1c1c; }
.fr .successbox { background: #e3f3e9; color: #22683f; border-radius: 10px; padding: 10px 14px; }

@media (max-width: 700px) {
  .fr fieldset dl, .fr .fields1 dl, .fr .fields2 dl { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .fr h2, .fr .h2 { font-size: 24px; }
  .fr .panel, .fr .post:not(.fr-post) { padding: 14px 16px; }
  .fr table.table1 { font-size: 14px; }
}

/* phpBB floats its label/value lists (dl.details, profile data): contain them. */
.fr .panel::after, .fr .inner::after { content: ''; display: table; clear: both; }
.fr dl.details { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 6px 16px; margin: 8px 0; }
.fr dl.details dt, .fr dl.details dd { float: none; width: auto; margin: 0; padding: 0; text-align: left; }
.fr dl.details dt { font-weight: 600; color: #1f2937; }
.fr dl.details dd { color: #374151; }
@media (max-width: 640px) { .fr dl.details { grid-template-columns: minmax(0, 1fr); gap: 2px; } .fr dl.details dd { margin-bottom: 8px; } }

/* Smilies stay in the line of text everywhere (preview, private messages). */
.fr .content img.smilies, .fr img.smilies { display: inline; height: 1.15em; width: auto; vertical-align: -.2em; margin: 0; border-radius: 0; }

/* Action bars under moderation lists: a long choice list may not push the page wider. */
.fr fieldset.display-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: 100%; }
.fr fieldset.display-actions select { max-width: 100%; min-width: 0; }
.fr select { max-width: 100%; }
