/*
 Theme Name:   DMS Theme
 Theme URI:    https://dmsstainlesssteel.co.uk
 Description:  Custom WordPress theme for the DMS Stainless Fabrications website rebuild.
 Author:       Kreatif Design
 Template:     bricks
 Version:      1.0.0
 Text Domain:  dms-theme
*/

/* ==========================================================================
   Global typography
   ========================================================================== */

   body {
	font-family: 'Inter', sans-serif;
	font-size: var(--text-m);
	font-weight: 400;
	color: var(--text-body);
	background-color: var(--bg-body);
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Roboto Slab', serif;
	color: var(--text-title);
	line-height: 1.2;
}

h1 { font-weight: 900; }
h2 { font-weight: 700; }
h3 { font-weight: 700; }
h4 { font-weight: 600; }
h5 { font-weight: 600; }
h6 { font-weight: 600; }

/* Mobile submenu chevrons follow their own toggle, including nested menus. */
@media (min-width: 1025px) {
	.c-site-header .c-site-header__nav .bricks-nav-menu .sub-menu { overflow: visible; }
}
.c-site-header__nav .bricks-mobile-menu-wrapper .brx-submenu-toggle > button[aria-expanded] {
	transform: none;
}
.c-site-header__nav .bricks-mobile-menu-wrapper .brx-submenu-toggle > button[aria-expanded="false"] > .menu-item-icon {
	transform: rotate(0deg);
}
.c-site-header__nav .bricks-mobile-menu-wrapper .brx-submenu-toggle > button[aria-expanded="true"] > .menu-item-icon {
	transform: rotate(180deg);
}

/* FAQ hub, category archives and single answers. */
.c-faq-hub { width: 100%; }
.c-faq-hub__intro { max-width: 75ch; margin-bottom: var(--space-xl); }
.c-faq-hub__intro h2 { font-size: var(--text-2xl); margin-bottom: var(--space-s); }
.c-faq-hub__eyebrow { color: var(--primary); font-weight: 700; margin-bottom: var(--space-xs); }
.c-faq-hub__search { padding: var(--space-l); background: var(--primary-5); margin-bottom: var(--space-l); }
.c-faq-hub__search label { display: block; font-weight: 700; margin-bottom: var(--space-xs); }
.c-faq-hub__search-row { display: flex; gap: var(--space-s); }
.c-faq-hub__search input { flex: 1; min-width: 0; min-height: 48px; padding: var(--space-s); border: 1px solid var(--border-primary); background: var(--bg-body); color: var(--text-body); font: inherit; }
.c-faq-hub__search button { min-height: 48px; padding: var(--space-s) var(--space-l); background: var(--primary); color: var(--light); font: inherit; font-weight: 700; border: 0; cursor: pointer; }
.c-faq-hub__search button:hover { background: var(--primary-d-1); }
.c-faq-hub__categories { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-2xl); }
.c-faq-hub__category { display: inline-flex; align-items: center; gap: var(--space-s); min-height: 44px; padding: var(--space-xs) var(--space-s); border: 1px solid var(--border-primary); color: var(--primary); font-size: var(--text-s); font-weight: 600; }
.c-faq-hub__category span { font-size: var(--text-xs); }
.c-faq-hub__category:hover { background: var(--primary-5); }
.c-faq-hub__category.is-active { background: var(--primary); color: var(--light); border-color: var(--primary); }
.c-faq-hub__results-title { font-size: var(--text-xl); margin-bottom: var(--space-xs); }
.c-faq-hub__count { margin-bottom: var(--space-l); }
.c-faq-hub__list { list-style: none; padding: 0; margin: 0; }
.c-faq-hub__item { padding: var(--space-l) 0; border-top: 1px solid var(--border-primary); }
.c-faq-hub__item h3 { font-size: var(--text-l); margin-bottom: var(--space-xs); }
.c-faq-hub__item h3 a { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-m); color: var(--primary); }
.c-faq-hub__icon { width: 1em; height: 1em; flex-shrink: 0; align-self: center; }
.c-faq-back { display: inline-flex; align-items: center; gap: var(--space-xs); }
.c-faq-back__icon { width: 1em; height: 1em; flex-shrink: 0; }
.c-policy-content { width: 100%; line-height: 1.7; overflow-wrap: anywhere; }
.c-careers { width: 100%; }
.c-careers > h2 { color: var(--primary); font-size: var(--text-xl); margin-bottom: var(--space-l); }
.c-careers__role { padding: var(--space-l) 0; border-top: 1px solid var(--border-primary); }
.c-careers__role h3, .c-careers__empty h3 { color: var(--primary); font-size: var(--text-l); margin-bottom: var(--space-s); }
.c-careers__description { max-width: 80ch; margin-bottom: var(--space-m); }
.c-careers__empty { padding: var(--space-l); background: var(--primary-5); }
.c-careers a { color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
.c-careers__apply { font-weight: 700; }
.c-policy-content h2 { color: var(--primary); font-size: var(--text-xl); margin-top: var(--space-xl); margin-bottom: var(--space-m); }
.c-policy-content h2:first-child { margin-top: 0; }
.c-policy-content p, .c-policy-content ul { margin-bottom: var(--space-m); }
.c-policy-content ul { padding-left: var(--space-l); }
.c-policy-content li + li { margin-top: var(--space-xs); }
.c-policy-content a { color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
.c-policy-content .faz-cookie-settings-btn { margin-bottom: var(--space-m); }
.c-policy-content .faz-cookie-table { overflow-wrap: normal; }
.c-faq-hub__item p { max-width: 85ch; margin: 0; }
.c-faq-hub__item a:hover { text-decoration: underline; text-underline-offset: .2em; }
.c-faq-hub__empty { padding: var(--space-l); background: var(--primary-5); }
.c-faq-hub__pagination { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-xl); }
.c-faq-hub__pagination .page-numbers { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; min-width: 44px; padding: var(--space-xs) var(--space-s); border: 1px solid var(--border-primary); color: var(--primary); }
.c-faq-hub__pagination .current { background: var(--primary); color: var(--light); }
.c-faq-answer { max-width: 80ch; }
.c-faq-answer p + p { margin-top: var(--space-m); }
.c-faq-answer a, .c-faq-related a { text-decoration: underline; text-underline-offset: .2em; }
.c-faq-related { margin-top: var(--space-xl); padding-top: var(--space-l); border-top: 1px solid var(--border-primary); }
.c-faq-related__categories { display: flex; flex-wrap: wrap; gap: var(--space-m); margin-bottom: var(--space-xl); }
.c-faq-related h2 { font-size: var(--text-xl); margin-bottom: var(--space-s); }
.c-faq-related li { margin-bottom: var(--space-s); }
.c-faq-hub :is(a, input, button):focus-visible, .c-faq-related a:focus-visible { outline: 2px solid var(--secondary); outline-offset: 4px; }
@media (max-width: 767px) {
	.c-faq-hub__search-row { flex-direction: column; }
	.c-faq-hub__search { padding: var(--space-m); }
	.c-faq-hub__category { flex-grow: 1; justify-content: space-between; }
}

/* ==========================================================================
   Cookie consent (FAZ Cookie Manager markup)
   ========================================================================== */

html body #faz-consent, html body #faz-consent *, html body #faz-consent *::before, html body #faz-consent *::after { font-family: inherit; }
html body :is(#faz-consent, .faz-modal) :is([data-faz-tag="detail-description"], .faz-accordion) a { color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
html body .faz-placeholder .faz-placeholder-btn { background: var(--primary); }
html body .faz-placeholder .faz-placeholder-btn:hover { background: var(--primary-d-1); }
html body .faz-placeholder .faz-placeholder-btn:focus-visible { outline-color: var(--secondary); }
