/* 大会結果一覧 */
.resultsPage { max-width: 1040px; margin: 0 auto; padding-top: 28px; padding-bottom: 48px; color: #342e28; }
.resultsHeading { margin-bottom: 24px; }
.resultsHeading p { margin: 0 0 8px; color: #805026; font: 700 14px var(--oswald, sans-serif); letter-spacing: .14em; }
.resultsPage .resultsHeading h1 { padding: 0; margin: 0; font-size: 28px; font-weight: 700; text-align: left; }
.resultsFilters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 140px; align-items: end; gap: 14px; padding: 20px; margin-bottom: 24px; background: #f7f2e9; border: 1px solid #e6dbcd; border-radius: 10px; }
.resultsFilter { min-width: 0; }
.resultsFilter label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #685847; }
.resultsFilter .form-control { width: 100%; height: 42px; padding: 8px 10px; font-size: 14px; border-color: #d6c8b8; border-radius: 5px; }
.resultsFilter .btn { min-height: 42px; font-size: 14px; }
.resultsClassicBanner { padding: 20px 24px; margin-bottom: 28px; border-left: 4px solid var(--mainColor); border-radius: 4px 10px 10px 4px; background: #fff7e9; }
.resultsPage .resultsClassicBanner h2 { padding: 0; margin: 0 0 8px; border: 0; font-size: 17px; font-weight: 700; line-height: 1.6; }
.resultsClassicBanner h2 a { color: #784b26; }
.resultsClassicBanner p { margin: 0; color: #766049; font-size: 13px; }
.resultsListHead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.resultsPage .resultsListHead h2 { padding: 0; margin: 0; border: 0; color: #44382b; font-size: 18px; font-weight: 700; }
.resultsListHead p { margin: 0; color: #756550; font-size: 13px; }
.resultsListHead strong { color: #924716; font: 600 26px var(--oswald, sans-serif); }
.resultsEventList { display: grid; gap: 14px; }
.resultsEvent { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: stretch; gap: 24px; padding: 24px; border: 1px solid #e0d6c9; border-radius: 10px; background: #fff; }
.resultsEvent::before { content: ""; position: absolute; right: -24px; bottom: -28px; width: 240px; height: 200px; background-image: var(--results-event-logo, none); background-repeat: no-repeat; background-position: right bottom; background-size: contain; transform: rotate(-10deg); transform-origin: right bottom; opacity: .09; pointer-events: none; z-index: -1; }
.resultsEvent-boat { --results-event-logo: url('../images/seriesLogo/logo-m.png'); }
.resultsEvent-okappari { --results-event-logo: url('../images/seriesLogo/logo-t.png'); }
.resultsEvent-pair { --results-event-logo: url('../images/seriesLogo/logo-p.png'); }
.resultsDate { display: flex; flex-direction: column; justify-content: center; align-items: center; flex: 0 0 92px; gap: 5px; padding-right: 24px; border-right: 1px solid #e9dfd2; color: #7b5632; font-family: var(--oswald, sans-serif); }
.resultsDate span { font-size: 14px; letter-spacing: .08em; }
.resultsDate strong { font-size: 27px; font-weight: 500; line-height: 1.3; white-space: nowrap; }
.resultsEventBody { min-width: 0; flex: 1; }
.resultsEventMeta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.resultsType { display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; background: #eee9e1; color: #62513c; }
.resultsType-boat { background: #eaf0f8; color: #33567e; }
.resultsType-okappari { background: #edf3e6; color: #4b6637; }
.resultsType-pair { background: #f7ebe5; color: #884f35; }
.resultsLocation { font-size: 13px; color: #726759; overflow-wrap: anywhere; }
.resultsPage .resultsEvent h3 { padding: 0; margin: 12px 0 18px; font-size: 18px; font-weight: 700; line-height: 1.7; overflow-wrap: anywhere; }
.resultsEvent h3 a { color: #44382b; }
.resultsEvent h3 a:hover { color: #924716; }
.resultsEventActions { display: flex; flex-wrap: wrap; gap: 10px; }
.resultsEventActions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 40px; padding: 8px 16px; border-radius: 5px; font-size: 13px; font-weight: 700; }
.resultsViewButton { background: #7b5632; border: 1px solid #7b5632; color: #fff; }
.resultsViewButton:hover { background: #614025; color: #fff; }
.resultsReportButton { background: #fff; border: 1px solid #c8b69f; color: #72502b; }
.resultsReportButton:hover { background: #f7f2e9; color: #563919; }
.resultsReportButton.disabled { background: #f4f2ef; border-color: #ddd7cf; color: #aaa39a; opacity: 1; }
.resultsPage .resultsEmpty { padding: 44px 20px; border: 1px dashed #d6c8b8; border-radius: 10px; text-align: center; background: #faf7f2; font-size: 15px; }
.resultsEmpty > i { display: block; margin-bottom: 12px; color: #8b7153; font-size: 26px; }
.resultsEmpty p { margin-bottom: 12px; }
.resultsPagination { margin-top: 28px; }
.resultsPagination .pagination { flex-wrap: wrap; gap: 6px; }
.resultsPagination .page-link { display: grid; place-items: center; min-width: 40px; min-height: 40px; border-radius: 5px; border-color: #d6c8b8; color: #72502b; font-size: 14px; }
.resultsPagination .page-item.active .page-link { background: #7b5632; border-color: #7b5632; color: #fff; }
.resultsPage a:focus-visible, .resultsPage button:focus-visible, .resultsPage select:focus-visible { outline: 3px solid #805026; outline-offset: 3px; }
@media (max-width: 767px) {
    .resultsFilters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 14px 12px; }
    .resultsPage { padding-top: 20px; }
    .resultsPage .resultsHeading h1 { font-size: 24px; }
    .resultsEvent { gap: 16px; padding: 18px 16px; }
    .resultsEvent::before { width: 190px; height: 170px; right: -20px; bottom: -24px; }
    .resultsDate { flex-basis: 68px; padding-right: 16px; }
    .resultsDate strong { font-size: 23px; }
    .resultsPage .resultsEvent h3 { font-size: 16px; }
    .resultsClassicBanner { padding: 16px; }
}
@media (max-width: 420px) {
    .resultsEvent { display: block; }
    .resultsDate { flex-direction: row; justify-content: flex-start; gap: 8px; padding: 0 0 12px; margin-bottom: 12px; border-right: 0; border-bottom: 1px solid #e9dfd2; }
    .resultsDate strong { font-size: 22px; }
    .resultsEventActions .btn { flex: 1 1 auto; }
}

/* スマートフォンの文字サイズ: 本文 f6 / 見出し・強調 f5 / 項目・補足 f7 */
@media screen and (max-width: 767px) {

	.resultsPage .resultsHeading h1,
	.resultsPage .resultsClassicBanner h2,
	.resultsPage .resultsListHead h2,
	.resultsDate strong,
	.resultsPage .resultsEvent h3 {
		font-size: var(--f5);
	}

	.resultsFilter label,
	.resultsDate span,
	.resultsType,
	.resultsLocation,
	.resultsPagination .page-link {
		font-size: var(--f7);
	}

	.resultsFilter .form-control,
	.resultsFilter .btn,
	.resultsClassicBanner p,
	.resultsListHead p,
	.resultsEventActions .btn,
	.resultsPage .resultsEmpty {
		font-size: var(--f6);
	}
}
