/* ==========================================================================
   Responsive Layout Adjustments (Unified Shell & All Pages)
   ========================================================================== */

@media (max-width: 1200px) {
	.cat-grid.cat-grid-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.awards-modern-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.cat-grid,
	.cat-grid.cat-grid-4,
	.nordfrim-shipping-grid,
	.donators-grid,
	.links-catalog-grid,
	.pair-stats-grid,
	.pair-stats-grid.pair-stats-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cat-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.cat-search-box {
		width: 100%;
		max-width: 100%;
		height: 40px;
		flex: 0 0 40px;
	}
}

@media (max-width: 900px) {
	.contact-faq-grid,
	.contact-main-grid,
	.contact-specs-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	body {
		overflow-x: hidden;
	}

	#container {
		width: 100%;
		max-width: 100%;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
	}

	#layoutHeader {
		height: 116px;
		background-position: left top, 116px top;
		background-size: 116px 116px, auto 116px;
	}

	.maintitle {
		right: 12px;
		bottom: 8px;
		left: auto;
		max-width: calc(100% - 24px);
		width: auto;
		text-align: right;
		font-size: clamp(14px, 4.2vw, 22px);
		white-space: normal;
		line-height: 1.15;
		word-break: break-word;
	}

	#layoutCenterBody {
		display: block;
		margin: 8px 10px 0;
	}

	#layoutNavigation {
		width: 100%;
		margin: 0 0 12px;
		float: none;
		box-sizing: border-box;
		flex: none;
	}

	#layoutNavigation .navTitle {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 8px 12px;
		user-select: none;
	}

	#layoutNavigation .navTitle::after {
		content: "▾";
		font-size: 14px;
		transition: transform 0.2s ease;
	}

	#layoutNavigation.is-collapsed .navTitle::after {
		transform: rotate(-90deg);
	}

	#layoutBodyContent {
		margin-top: 0;
		width: 100%;
		padding: 12px;
		float: none;
		flex: none;
	}

	.award-list {
		columns: 1;
		width: 100%;
	}

	.nordfrim-promo-header,
	.news-notice-banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.nordfrim-promo-card,
	.donators-section,
	.archival-section-card,
	.contact-header-card {
		padding: 16px 18px;
	}

	.nordfrim-cta-btn,
	.faq-contact-btn,
	.news-notice-btn {
		width: 100% !important;
		justify-content: center;
	}

	.faq-modern-body,
	.faq-modern-body.collapsible-rich-body {
		padding: 14px 16px;
	}

	.faq-contact-banner,
	.pdetails-toolbar-card {
		flex-direction: column;
		align-items: stretch;
	}

	.pdetails-search-wrap {
		max-width: 100%;
		flex: 1 1 auto;
	}

	.pdetails-toolbar-actions {
		justify-content: space-between;
	}
}

@media (max-width: 820px) {
	.modern-sheet-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.cat-grid,
	.cat-grid.cat-grid-4,
	.nordfrim-shipping-grid,
	.donators-grid,
	.awards-modern-grid,
	.links-catalog-grid,
	.pair-stats-grid,
	.pair-stats-grid.pair-stats-grid-4 {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.modern-sheet-gallery {
		grid-template-columns: 1fr !important;
	}
	.modern-sheet-gallery .sheet-card {
		width: 100% !important;
	}
}
/* Language changer: strictly hide sub-arrow under ALL conditions */
.sm-simple a.no-sub-arrow .sub-arrow,
.sm-simple a.no-sub-arrow .sub-arrow::before,
.sm-simple a.no-sub-arrow .sub-arrow::after,
a.no-sub-arrow .sub-arrow,
a.no-sub-arrow .sub-arrow::before,
a.no-sub-arrow .sub-arrow::after,
.sm-simple li.langglobe a .sub-arrow,
.sm-simple li.langglobe a .sub-arrow::before,
.sm-simple li.langglobe a .sub-arrow::after,
.sm-simple > li.langglobe > a .sub-arrow,
.sm-simple > li.langglobe > a .sub-arrow::before,
.sm-simple > li.langglobe > a .sub-arrow::after,
.sm-simple li.mi-8 a .sub-arrow,
.sm-simple li.mi-8 a .sub-arrow::before,
.sm-simple li.mi-8 a .sub-arrow::after,
.sm-simple > li.mi-8 > a .sub-arrow,
.sm-simple > li.mi-8 > a .sub-arrow::before,
.sm-simple > li.mi-8 > a .sub-arrow::after,
.sm-simple li:has(img[src*="lng.png"]) a .sub-arrow,
.sm-simple li:has(img[src*="lng.png"]) a .sub-arrow::before,
.sm-simple li:has(img[src*="lng.png"]) a .sub-arrow::after,
.langglobe a .sub-arrow,
.langglobe a .sub-arrow::before,
.langglobe a .sub-arrow::after,
.langglobe .sub-arrow,
.mi-8 a .sub-arrow,
.mi-8 a .sub-arrow::before,
.mi-8 a .sub-arrow::after,
.mi-8 .sub-arrow {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  content: none !important;
  pointer-events: none !important;
}

