/* =====================================================================
   SEDERE — base styles (values measured on sedere.com)
   Elementor pages carry their own styles; this file covers the base
   typography, the theme templates (posts, products) and the dynamic blocks.
   ===================================================================== */
:root {
	--sed-blue: #003B87;
	--sed-navy: #02274F;
	--sed-sky: #E6F9FF;
	--sed-orange: #ED4F18;
	--sed-salmon: #FF8F71;
	--sed-text: #5D636C;
	--sed-dark: #26292E;
	--sed-head: "Red Hat Display", sans-serif;
	--sed-body: "Open Sans", sans-serif;
}

html, body { overflow-x: clip; }
body {
	font-family: var(--sed-body);
	font-size: 18px;
	line-height: 1.62;
	letter-spacing: .1px;
	color: var(--sed-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--sed-head); font-weight: 700; color: var(--sed-dark); margin: 0; letter-spacing: normal; }
h1 { font-size: 57px; line-height: 1; }
h2 { font-size: 47px; line-height: 1.021; }
h3 { font-size: 35px; line-height: 1.086; }
h4 { font-size: 28px; line-height: 1.2; }
h5 { font-size: 24px; line-height: 1.2; }
h6 { font-size: 18px; line-height: 1.2; }
a { color: var(--sed-blue); text-decoration: none; transition: color .3s; }
a:hover { color: var(--sed-navy); }
p { margin: 0 0 1.57em; }
img { height: auto; }

/* Elementor text widgets: same paragraph rhythm as the original (last one flush) */
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol { padding-left: 1.5em; }
.elementor-widget-heading .elementor-heading-title { text-wrap: balance; }

a.sed-tel { font: 700 20px/24px var(--sed-head); letter-spacing: -.3px; color: var(--sed-dark); }
a.sed-tel:hover { color: var(--sed-blue); }

/* Buttons */
.sed-btn .elementor-button { transition: background-color .3s, color .3s; border-radius: 0; }
.sed-button {
	display: inline-block; padding: 17px 40px; background: var(--sed-blue); color: #fff;
	font: 700 12px/20px var(--sed-head); letter-spacing: 2.4px; text-transform: uppercase;
}
.sed-button:hover { background: var(--sed-navy); color: #fff; }

/* ---------------------------------------------------------------- header */
.ehf-header #masthead { position: relative; z-index: 50; }
.ehf-header.home #masthead { position: absolute; left: 0; right: 0; top: 0; }
.ehf-header.home.admin-bar #masthead { top: 32px; }
/* desktop menu: no sub-menu arrows, like the original */
@media (min-width: 1025px) { .sed-nav ul.hfe-nav-menu, .sed-nav .hfe-nav-menu__layout-horizontal { flex-wrap: nowrap; white-space: nowrap; } .sed-nav .hfe-menu-toggle { display: none; } .sed-nav .hfe-has-submenu-container a.hfe-menu-item { padding-right: 15.3px; } }
.sed-nav .hfe-nav-menu > li > a { white-space: nowrap; }
/* tablet / mobile header: burger inline with the other header items, dropdown below the header */
.elementor-widget.sed-burger { width: auto !important; position: static; }
.sed-burger .hfe-nav-menu__toggle, .sed-burger .hfe-nav-menu-icon { margin: 0; padding: 0 !important; }
.sed-burger .elementor-widget-container, .sed-burger .hfe-nav-menu { line-height: 0; }
.sed-burger .hfe-nav-menu__layout-horizontal:not(.menu-is-active) { display: none; }
.sed-burger nav.hfe-dropdown { position: absolute; left: 0; right: 0; top: 100%; }
#masthead .elementor-section { position: relative; }
.sed-nav .sub-menu { min-width: 220px; box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
/* desktop drop-downs as wide as their longest entry ("Recherche & Développement"), 220px at least */
.sed-nav .hfe-nav-menu li.menu-item-has-children > ul.sub-menu { width: max-content; }
/* "⋮" overflow item of the main menu (sedere.js): opens to the left, its sub-lists too */
.sed-nav li.sed-more > .hfe-has-submenu-container > a.hfe-menu-item { padding-left: 15px; padding-right: 15px; }
.sed-nav li.sed-more svg { display: block; fill: currentColor; }
.sed-nav li.sed-more > .sub-menu { left: auto; right: 0; }
.sed-nav li.sed-more .sub-menu .sub-menu { left: auto; right: 100%; top: 0; }
.sed-nav li.sed-more .hfe-menu-toggle { display: none; }

/* ---------------------------------------------------------------- footer */
.sed-links .elementor-icon-list-item a { transition: color .3s; }
/* "Useful links": tighter list (8-9 entries since End of support / Qualification protocols) */
body.ehf-footer .elementor-element.elementor-widget.sed-links .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) { padding-block-end: 2px; }
body.ehf-footer .elementor-element.elementor-widget.sed-links .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child) { margin-block-start: 2px; }
@media (min-width: 1025px) { .ehf-footer .sed-links .elementor-icon-list-text { line-height: 24px; } }
.ehf-footer .elementor-widget-text-editor a { color: inherit; }
.ehf-footer .elementor-widget-text-editor a[href^="tel"] { font: 700 20px/1.3 var(--sed-head); }
.ehf-footer a[href^="mailto"] { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
/* footer link lists, tablet: a link on two lines (e.g. "Conditions d’utilisation") is 44.6px high on the original
   (tight second line); one-line links keep their 28.2px */
@media (min-width: 768px) and (max-width: 1024px) {
	.ehf-footer .elementor-icon-list-item > .elementor-icon-list-text, .ehf-footer .elementor-icon-list-item > a > .elementor-icon-list-text { display: block; line-height: 16.4px; padding: 5.9px 0; }
}

/* ---------------------------------------------------------------- slider arrows
   The original arrows use the Qwery theme icon font; same glyph drawn as an SVG mask. */
sr7-arrow.qwery_roofing::before, .qwery_roofing.tparrows::before {
	font-family: inherit !important; content: "" !important; position: absolute; top: 50%; left: 50%;
	width: 16px; height: 16px; margin: -8px 0 0 -8px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21V4M5 11l7-7 7 7' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21V4M5 11l7-7 7 7' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------------------------------------------------------------- product cards (home) */
.sed-card { position: relative; overflow: hidden; }
.sed-card > .elementor-widget-wrap::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .2); opacity: 0; transition: opacity .3s; pointer-events: none; }
.sed-card:hover > .elementor-widget-wrap::before { opacity: 1; }
.sed-card .sed-card-btn { position: relative; z-index: 1; width: 100%; }
.sed-card-btn .elementor-button { width: 100%; }
.sed-card-btn .elementor-button-content-wrapper { justify-content: space-between; }
.sed-card-btn .elementor-button-icon svg, .sed-card-btn .elementor-button-icon i { font-size: 15px; }

/* ---------------------------------------------------------------- "Our Values" grid: 3 x (410 + 30px gutter), like the original */
.elementor-widget-wrap > .elementor-section.sed-cards { width: calc(100% + 30px) !important; max-width: none; flex-shrink: 0; }
@media (min-width: 768px) { .elementor-widget-wrap > .elementor-section.sed-icons { width: calc(100% + 30px) !important; max-width: none; flex-shrink: 0; } }

/* ---------------------------------------------------------------- news cards */
.sed-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.sed-posts--2 { grid-template-columns: repeat(2, 1fr); }
.sed-post--over {
	position: relative; aspect-ratio: 1 / 1; background-size: cover; background-position: center;
	display: flex; align-items: flex-end; overflow: hidden;
}
.sed-post__mask { position: absolute; inset: 0; background: rgba(0, 59, 135, .5); transition: background-color .3s; }
.sed-post--over:hover .sed-post__mask { background: rgba(0, 59, 135, .65); }
.sed-post__info { position: relative; padding: 45px; color: #fff; width: 100%; }
.sed-post__meta { font: 400 14px/21px var(--sed-body); margin-bottom: 15px; color: #fff; }
.sed-post__cat { font: 700 12px/21px var(--sed-head); letter-spacing: 1.44px; text-transform: uppercase; }
.sed-post__cat + .sed-post__date::before { content: "•"; margin: 0 12px; font-size: 10px; vertical-align: 1px; }
.sed-post--over .sed-post__title { font: 700 28px/1.2 var(--sed-head); color: #fff; margin: 8px 0 18px; }
.sed-post__more { color: #fff; display: inline-flex; }
.sed-post__link { position: absolute; inset: 0; z-index: 2; }
/* classic (News page) — measured on sedere.com */
.sed-posts.sed-posts--classic { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0; margin: 0 -30px -45px 0; }
.sed-posts--classic > .sed-post { width: 33.3333%; padding: 0 30px 48px 0; }
.sed-post--classic .sed-post__img { display: block; overflow: hidden; margin-bottom: 33.3px; }
.sed-post--classic .sed-post__img img { width: 100%; height: auto; display: block; transition: transform .5s; }
.sed-post--classic:hover .sed-post__img img { transform: scale(1.04); }
.sed-post--classic .sed-post__meta { display: flex; align-items: center; color: var(--sed-blue); margin: 0 0 12px; font-size: 14px; line-height: 21px; }
.sed-post--classic .sed-post__meta::before { content: ""; width: 35px; height: 2px; background: var(--sed-blue); margin-right: 15px; flex: none; }
.sed-posts .sed-post--classic .sed-post__title { font: 700 28px/33.32px var(--sed-head); margin: 0 0 0 50px; }
.sed-post--classic .sed-post__title a { color: var(--sed-dark); }
.sed-post--classic .sed-post__title a:hover { color: var(--sed-blue); }
@media (max-width: 1024px) {
	.sed-posts.sed-posts--classic { margin-bottom: -40px; }
	.sed-posts--classic > .sed-post { padding-bottom: 39.6px; }
	.sed-post--classic .sed-post__img { margin-bottom: 27.2px; }
	.sed-post--classic .sed-post__meta { margin-bottom: 10px; }
	.sed-posts .sed-post--classic .sed-post__title { font-size: 22px; line-height: 26.18px; }
}
@media (max-width: 767px) {
	.sed-posts.sed-posts--classic { margin: 0 0 -30px; }
	.sed-posts--classic > .sed-post { width: 100%; padding: 0 0 28.6px; }
	.sed-post--classic .sed-post__img { margin-bottom: 18px; }
	.sed-post--classic .sed-post__meta { margin-bottom: 6px; font-size: 13px; line-height: 19.5px; }
	.sed-posts .sed-post--classic .sed-post__title { font-size: 18px; line-height: 21.42px; }
}

/* ---------------------------------------------------------------- product grid (Our Products) — measured on the original */
.sed-prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 37.2px 30px; padding-bottom: 37.2px; }
.sed-prod__img { display: block; margin-bottom: 31.5px; overflow: hidden; aspect-ratio: 410 / 512; }
.sed-prod__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.sed-prod:hover .sed-prod__img img { transform: scale(1.04); }
.sed-prods .sed-prod__title { font-size: 35px; line-height: 38px; margin: 0 0 58px; }
.sed-prod__title a { color: var(--sed-blue); }
.sed-prod__more { color: var(--sed-dark); display: flex; height: 30px; margin-top: 24px; align-items: flex-start; }
@media (max-width: 1024px) {
	.sed-prod__img { margin-bottom: 29.75px; }
	.sed-prods .sed-prod__title { font-size: 28px; line-height: 30.4px; margin-bottom: 56px; }
}
@media (max-width: 767px) {
	.sed-prods { grid-template-columns: 1fr; gap: 27.2px; padding-bottom: 7.2px; }
	.sed-prod__img { margin-bottom: 16.5px; }
	.sed-prods .sed-prod__title { font-size: 20px; line-height: 24px; margin-bottom: 43px; }
	.sed-prod__more { margin-top: 10.5px; }
}

/* ---------------------------------------------------------------- events */
.sed-events { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; }
.sed-event { position: relative; padding-bottom: 30px; }
.sed-event__date { display: flex; align-items: center; font: 400 14px/21px var(--sed-body); color: var(--sed-blue); margin-bottom: 12px; }
.sed-event__date::before { content: ""; width: 35px; height: 2px; background: var(--sed-blue); margin-right: 15px; }
.sed-events .sed-event__title { font: 700 20px/1.18 var(--sed-head); margin: 0 0 20px 50px; }
.sed-event__title a { color: var(--sed-dark); }
.sed-event__more { margin-left: 50px; color: var(--sed-dark); display: inline-flex; align-items: center; height: 35px; }

/* ---------------------------------------------------------------- shared single layout */
.sed-wrap { max-width: 1290px; margin: 0 auto; padding: 0 0; }
.sed-product { padding-bottom: 133px; }
.sed-content { color: var(--sed-text); }
/* block content of posts and products — values measured on sedere.com (1440 / 1024 / 390) */
.sed-content p { margin: 0 0 1.57em; }
.sed-single .sed-content > :first-child { margin-top: 0; }
.sed-content mark { font-family: var(--sed-head); background: none; }
.sed-content .wp-block-table { overflow: visible; margin: 0 0 1em; }
.sed-content .wp-block-table table { font-size: inherit; line-height: inherit; }
.sed-content .wp-block-table td, .sed-content .wp-block-table th { font-size: 16px; line-height: inherit; padding: 8px; border: 0; }
.sed-content strong, .sed-content b { font-weight: 700; }
.sed-content p:last-child { margin-bottom: 0; }
.sed-single .sed-content h2 { font-size: 30px !important; line-height: 30.63px; color: var(--sed-orange); margin: 20.1px 0 16.8px; }
.sed-single .sed-content h3 { font-size: 25px; line-height: 32.5px; color: var(--sed-blue); margin: 23.5px 0 18px; }
.sed-single .sed-content > h3 { line-height: 1.086; }
.sed-single .sed-content h4 { font-size: 20px; line-height: 24.28px; color: var(--sed-dark); margin: 23px 0 16.6px; }
.sed-content ul, .sed-content ol { margin: 0; padding-left: 1.5em; }
.sed-content figure, .sed-content .wp-block-image { margin: 0 0 28.26px; }
.sed-content figcaption { font-size: 16px; line-height: 20px; color: var(--sed-text); margin: 0; padding: 14px 0 5px; }
.sed-content .wp-block-image.is-resized { display: table; }
.sed-content .wp-block-image.is-resized > figcaption { display: table-caption; caption-side: bottom; }
.sed-content .wp-block-group { margin-bottom: 1.5em; }
.sed-content .wp-block-gallery { margin-bottom: 1.2em; }
.sed-content .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
.sed-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static; background: none; color: var(--sed-text); padding: 14px 0 5px; max-height: none; overflow: visible; text-align: left; font-size: 16px; line-height: 20px; text-shadow: none;
}
.sed-content .wp-block-gallery.has-nested-images figure.wp-block-image::before { display: none; }
/* core accordion (content imported as HTML: closed by default, toggled by sedere.js) */
.sed-content .wp-block-accordion-panel { display: none; }
.sed-content .wp-block-accordion-item.is-open .wp-block-accordion-panel { display: block; }
.sed-content hr, .sed-content .wp-block-separator { border: 0; border-top: 2px solid #808080; width: 98.23%; margin: 122.14px auto; opacity: 1; }
.sed-content img { max-width: 100%; height: auto; }
.sed-content .wp-block-columns { display: flex; flex-wrap: nowrap; gap: 30px; margin: 0; }
.sed-content .wp-block-column { flex-basis: 0; flex-grow: 1; min-width: 0; }
.sed-content .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
.sed-content .alignright { float: right; margin: 0 0 1em 2em; }
.sed-content .alignleft { float: left; margin: 0 2em 1em 0; }
@media (max-width: 1024px) {
	.sed-single .sed-content h3 { font-size: 23.63px !important; line-height: 30.72px; margin: 22.21px 0 17.01px; }
	.sed-content p { margin-bottom: 1em; }
	.sed-content figure, .sed-content .wp-block-image { margin-bottom: 17px; }
	.sed-content hr, .sed-content .wp-block-separator { margin: 68px auto; width: 100%; }
}
@media (max-width: 767px) {
	.sed-single .sed-content h2 { line-height: 26px; margin: 25px 0 14px; }
	.sed-single .sed-content h3 { font-size: 16.29px !important; line-height: 21.18px; margin: 22px 0 13px; }
	.sed-single .sed-content h4 { line-height: 22px; margin: 20px 0 12px; }
	.sed-content figure, .sed-content .wp-block-image { margin-bottom: 15px; }
	.sed-content figcaption { font-size: 15px; padding: 11px 0 2px; }
	.sed-single .sed-content h3.wp-block-accordion-heading { font-size: 22px !important; line-height: 24px; }
	.sed-content hr, .sed-content .wp-block-separator { margin: 45px auto; }
	.sed-content .wp-block-columns { flex-wrap: wrap; gap: 0; }
	.sed-content .wp-block-column { flex-basis: 100% !important; }
	.sed-content .wp-block-column + .wp-block-column { margin-top: 15px; }
	.sed-content .wp-block-table td, .sed-content .wp-block-table th { font-size: 15px; line-height: 20px; padding: 7.5px; }
}
.sed-related { margin-top: 90px; }
.sed-single .sed-related__title, .sed-related__title { font-size: 35px; line-height: 1.086; color: var(--sed-dark); margin-bottom: 35px; }

/* post hero + end of post — measured on sedere.com (1440 / 1024 / 390) */
.sed-post-single { padding-bottom: 133px; }
.sed-hero {
	position: relative; min-height: 648px; display: flex; align-items: center; justify-content: center; text-align: center;
	background: #2C313D center / cover no-repeat; margin-bottom: 112px;
}
.sed-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.sed-hero__inner { position: relative; max-width: 1190px; padding: 0 20px; }
.sed-single a.sed-hero__cat {
	display: inline-block; padding: 6px 17px 5px; background: var(--sed-blue); color: #fff; margin: 3px 0 27px;
	font: 700 12px/14px var(--sed-head); letter-spacing: .6px; text-transform: uppercase;
}
.sed-single a.sed-hero__cat:hover { color: #fff; background: var(--sed-navy); }
.sed-single .sed-hero__title { color: #fff; font-size: 57px; line-height: 57px; }
.sed-hero__date { color: #fff; font: 400 14px/21px var(--sed-body); margin-top: 18px; }
.sed-post-nav { display: flex; margin-top: 87px; min-height: 59px; }
.sed-post-nav > div { flex: 1; }
.sed-post-nav__next { text-align: right; }
.sed-post-nav a { display: inline-flex; flex-direction: column; gap: 4px; color: var(--sed-dark); }
.sed-post-nav__label { font: 700 12px/18px var(--sed-head); letter-spacing: 1.2px; text-transform: uppercase; color: var(--sed-blue); }
.sed-post-nav__title { font: 700 24px/1.2 var(--sed-head); }
.sed-post-single .sed-related { margin-top: 90px; }
.sed-single.sed-post-single .sed-related__title { font-size: 35px; line-height: 38px; margin: 0 0 35px; }
.sed-posts--related { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; margin: 0; }
.sed-posts--related > .sed-post { width: auto; padding: 0 0 30px; }
.sed-posts--related .sed-post__img { margin-bottom: 0; }
.sed-posts--related .sed-post { padding-bottom: 30px; }
.sed-posts--related .sed-post__img { aspect-ratio: 630 / 470; }
.sed-posts--related .sed-post__img img { height: 100%; object-fit: cover; }
.sed-posts--related .sed-post__meta { margin: 18px 0 11.9px; }
.sed-posts--related .sed-post__meta::before { display: none; }
.sed-posts--related .sed-post__title { margin-left: 0; font-size: 24px; line-height: 28.8px; }
@media (max-width: 1024px) {
	.sed-post-single { padding-bottom: 90px; }
	.sed-hero { min-height: 510px; margin-bottom: 85px; }
	.sed-single .sed-hero__title { font-size: 46px; line-height: 46px; }
	.sed-single a.sed-hero__cat { margin-bottom: 18px; }
	.sed-post-nav { margin-top: 83px; }
	.sed-post-single .sed-related { margin-top: 67px; }
	.sed-single.sed-post-single .sed-related__title { font-size: 28px; line-height: 30px; margin-bottom: 29px; }
	.sed-posts--related .sed-post__meta { margin: 17px 0 7px; }
	.sed-posts--related .sed-post__title { font-size: 22px; line-height: 26.4px; }
}
@media (max-width: 767px) {
	.sed-post-single { padding-bottom: 49px; }
	.sed-hero { min-height: 375px; margin-bottom: 40px; }
	.sed-single .sed-hero__title { font-size: 26px; line-height: 26px; }
	.sed-single a.sed-hero__cat { margin-bottom: 9px; }
	.sed-post-nav { margin-top: 59px; min-height: 47px; }
	.sed-post-nav__title { font-size: 18px; }
	.sed-post-single .sed-related { margin-top: 38px; }
	.sed-single.sed-post-single .sed-related__title { font-size: 20px; line-height: 24px; margin-bottom: 20px; }
	.sed-posts--related { grid-template-columns: 1fr; }
	.sed-posts--related .sed-post { padding-bottom: 20px; }
	.sed-posts--related .sed-post__meta { margin: 15px 0 6.5px; font-size: 13px; }
	.sed-posts--related .sed-post__title { font-size: 18px; line-height: 21.6px; margin-bottom: 5px; }
}

/* product page — measured on sedere.com (1440 / 1024 / 390) */
.sed-product { padding-top: 128px; }
.sed-product__grid { display: grid; grid-template-columns: minmax(0, 813fr) minmax(0, 477fr); align-items: start; }
.sed-product__featured img { width: 100%; display: block; }
.sed-product__side { position: sticky; top: 40px; padding-left: 54px; }
.admin-bar .sed-product__side { top: 72px; }
.sed-single .sed-product__subtitle { font-size: 34.92px; line-height: 37.71px; color: var(--sed-accent); margin: -4px 0 26px; }
.sed-product__desc p { margin: 0; }
.sed-product__details { padding-top: 35px; }
.sed-product__item { display: block; }
.sed-product__label { color: var(--sed-accent); font-weight: 500; padding-right: 18px; display: inline-block; min-width: 127px; }
.sed-product__item a { color: var(--sed-text); }
.sed-product__item a:hover { color: var(--sed-accent); }
.sed-product__share { display: flex; gap: 35px; margin-top: 25px; padding-left: 45px; }
.sed-product__share a { color: var(--sed-blue); display: inline-flex; }
.sed-product__content { margin: 30px 0 27px; }
.sed-product__content::after { content: ""; display: table; clear: both; }
.sed-single .sed-product__content h2, .sed-single .sed-product__content h3 { color: var(--sed-accent); }
.sed-single .sed-product__content h2 { font-size: 47px !important; line-height: 47.99px; margin: 31.49px 0 26.32px; }
.sed-single .sed-product__content h3 { font-size: 34.99px; line-height: 38px; margin: 32.89px 0 25.19px; }
.sed-nav-links { display: flex; justify-content: space-between; margin-top: 85px; height: 35px; align-items: center; font: 500 22px/35px var(--sed-head); }
.sed-nav-links a { color: var(--sed-dark); }
.sed-nav-links__next { margin-left: auto; }
.sed-related--products { display: flex; gap: 20px; align-items: flex-start; margin-top: 90px; }
.sed-single .sed-related--products .sed-related__title { flex: 0 0 457px; font-size: 35px; line-height: 35px; margin: -6px 0 35px; }
.sed-related__list { flex: 1; display: flex; flex-wrap: wrap; align-items: flex-start; border-top: 1px solid #26292E; padding-top: 55.8px; }
.sed-related__item { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: baseline; gap: 12px; padding: 0 32px 34px 0; }
.sed-related__item h5 { font-size: 24px; line-height: 34px; }
.sed-related__item h5 a { color: var(--sed-dark); }
.sed-related__cat { font-size: 14px; color: var(--sed-text); }
@media (max-width: 1024px) {
	.sed-product { padding-top: 90px; padding-bottom: 90px; }
	.sed-product__grid { grid-template-columns: minmax(0, 607fr) minmax(0, 357fr); }
	.sed-product__side { padding-left: 51px; }
	.sed-single .sed-product__subtitle { font-size: 32.98px; line-height: 35.62px; }
	.sed-single .sed-product__content h2 { font-size: 36px !important; line-height: 36.76px; margin: 24.12px 0 20.16px; }
	.sed-single .sed-product__content h3 { font-size: 28px; line-height: 30.41px; margin: 26.32px 0 20.16px; }
	.sed-product__content { margin-bottom: 25.5px; }
	.sed-nav-links { margin-top: 42.5px; height: 34px; }
	.sed-related--products { margin-top: 68px; }
	.sed-single .sed-related--products .sed-related__title { flex-basis: 337px; font-size: 28px; line-height: 28px; margin-bottom: 28px; }
	.sed-related__item h5 { font-size: 22.66px; line-height: 24.93px; }
	.sed-related__list { padding-top: 52.7px; }
	.sed-related__item { padding-bottom: 20px; }
}
@media (max-width: 767px) {
	.sed-product { padding-top: 50px; padding-bottom: 49px; }
	.sed-product__grid { display: flex; flex-direction: column; }
	.sed-product__side { order: -1; position: static; padding-left: 0; margin-bottom: 23px; }
	.sed-single .sed-product__subtitle { font-size: 22px; line-height: 23.76px; margin: 0 0 15px; }
	.sed-product__details { padding-top: 25px; }
	.sed-product__content { margin: 20px 0 22.5px; }
	.sed-single .sed-product__content h2 { font-size: 22px !important; line-height: 26px; margin: 25px 0 14px; }
	.sed-single .sed-product__content h3 { font-size: 20px; line-height: 24px; margin: 22px 0 13px; }
	.sed-nav-links { margin-top: 25.5px; height: 29px; font-size: 17px; }
	.sed-related--products { margin-top: 30px; flex-direction: column; }
	.sed-single .sed-related--products .sed-related__title { flex: none; font-size: 20px; line-height: 20px; margin: 0; }
	.sed-related__item h5 { font-size: 18px; line-height: 19.8px; }
	.sed-related__list { padding-top: 22.5px; flex-direction: column; width: 100%; }
	.sed-related__item { flex-direction: column; align-items: flex-start; gap: 2px; padding: 0 0 15px; }
	.sed-related__cat { font-size: 13px; line-height: 21px; }
}

/* single event — measured on sedere.com (The Events Calendar pages) */
.sed-event-single { padding: 128px 0 133px; }
.sed-event-notice { background: #F7F7F7; color: var(--sed-dark); font-size: 16px; line-height: 24px; padding: 10px 15px; margin-bottom: 16px; }
.sed-single .sed-event-single__title { font-size: 57px; line-height: 57px; color: var(--sed-blue); text-align: center; margin: 85.5px 0 0; }
.sed-event-single__when { display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 16px; line-height: 21px; color: var(--sed-text); margin: 26.1px 0 57.6px; }
.sed-event-single__desc { position: relative; }
.sed-event-single__desc::after { content: ""; display: table; clear: both; }
.sed-event-single__desc img.alignright { float: right; margin: 9px 0 18px 30px; }
.sed-addcal { position: relative; display: inline-block; margin-top: 5px; }
.sed-addcal__button {
	list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 14px; padding: 12px 26px; background: var(--sed-blue); color: #fff;
	font: 700 14px/22.68px var(--sed-head); letter-spacing: 2.8px; text-transform: uppercase;
}
.sed-addcal__button::-webkit-details-marker { display: none; }
.sed-addcal__button:hover { background: var(--sed-navy); }
.sed-addcal__list { position: absolute; z-index: 5; left: 0; top: 100%; min-width: 100%; margin: 0; padding: 8px 0; list-style: none; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.sed-addcal__list a { display: block; padding: 6px 26px; font-size: 16px; color: var(--sed-dark); white-space: nowrap; }
.sed-addcal__list a:hover { color: var(--sed-blue); }
.sed-event-details { width: 50%; padding: 84.6px 0 4px; font-size: 18px; line-height: 22.5px; }
.sed-single .sed-event-details__title { font-size: 28px; line-height: 33.61px; letter-spacing: -.1px; margin: 0 0 28px; }
.sed-event-details__list { list-style: none; margin: 0; padding: 0; }
.sed-event-details__label { display: block; font-weight: 700; line-height: 29.16px; margin-bottom: 4px; }
.sed-event-details__value { display: block; margin-bottom: 4px; }
.sed-event-details__value a { color: var(--sed-text); word-break: break-word; }
.sed-event-details abbr { text-decoration: none; border: 0; }
.sed-event-nav { display: flex; justify-content: space-between; margin-top: 54px; font: 700 15px/20px var(--sed-head); }
.sed-event-nav__next { margin-left: auto; text-align: right; }
.sed-event-nav a { color: var(--sed-dark); display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 1024px) {
	.sed-event-single { padding: 90px 0 90px; }
	.sed-single .sed-event-single__title { font-size: 46px; line-height: 50.6px; margin-top: 69px; }
	.sed-event-single__when { font-size: 15px; line-height: 20px; margin: 19.55px 0 40.8px; }
	.sed-event-single__desc img.alignright { margin: 8.5px 0 17px 30px; }
	.sed-event-details { padding-top: 68px; font-size: 17px; line-height: 21.25px; }
	.sed-single .sed-event-details__title { font-size: 21.25px; line-height: 23.38px; margin-bottom: 20px; }
	.sed-event-details__label { line-height: 27.54px; }
	.sed-event-nav { margin-top: 51px; }
}
@media (max-width: 767px) {
	.sed-event-single { padding: 50px 0 51px; }
	.sed-single .sed-event-single__title { font-size: 26px; line-height: 31px; margin-top: 39px; }
	.sed-event-single__when { font-size: 14px; line-height: 19px; margin: 9px 0 27px; padding-left: 14px; }
	.sed-event-single__desc img.alignright { float: none; display: block; margin: 15px 0; }
	.sed-event-details { width: 100%; padding: 30px 0 26px; font-size: 15px; line-height: 18.75px; }
	.sed-event-single__desc { padding-bottom: 18px; }
	.sed-single .sed-event-details__title { font-size: 17.25px; line-height: 18.98px; margin-bottom: 15px; }
	.sed-event-details__label { line-height: 24.3px; }
	.sed-event-nav { margin-top: 54px; }
}

/* distributors map: compact tooltips (contents are HTML: "Render as HTML" is on in the map plugin settings) */
.map_wrapper foreignObject > div { font: 400 14px/20px var(--sed-body); letter-spacing: 0; color: var(--sed-text); }
.map_wrapper foreignObject h3 { font: 700 18px/22px var(--sed-head); color: var(--sed-blue); margin: 0 0 6px; }
.map_wrapper foreignObject h3 + br, .map_wrapper foreignObject div + br { display: none; } /* a break after a block would add an empty line */
.map_wrapper foreignObject strong { font-weight: 600; color: var(--sed-dark); }
.map_wrapper foreignObject a { color: var(--sed-blue); }
@media (max-width: 767px) {
	.map_wrapper foreignObject > div { font-size: 13px; line-height: 18px; }
	.map_wrapper foreignObject h3 { font-size: 16px; line-height: 20px; margin-bottom: 4px; }
}

/* sitemap */
.sed-sitemap h2 { font-size: 35px; margin-bottom: 20px; }
.sed-sitemap ul { padding-left: 1.2em; }

/* contact form (Contact Form 7) */
.sed-form .sed-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; }
.sed-form input[type=text], .sed-form input[type=email], .sed-form input[type=tel], .sed-form textarea {
	width: 100%; border: 0; border-bottom: 1px solid #D2D3D5; padding: 12px 0; font: 400 18px/1.62 var(--sed-body); color: var(--sed-dark); background: transparent;
}
.sed-form textarea { height: 140px; resize: vertical; margin-bottom: 30px; }
.sed-form input:focus, .sed-form textarea:focus { outline: none; border-bottom-color: var(--sed-blue); }
.sed-form .wpcf7-acceptance { font-size: 15px; }
.sed-form input[type=submit] {
	border: 0; padding: 17px 40px; background: var(--sed-blue); color: #fff; cursor: pointer; margin-top: 30px;
	font: 700 12px/20px var(--sed-head); letter-spacing: 2.4px; text-transform: uppercase;
}
.sed-form input[type=submit]:hover { background: var(--sed-navy); }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1365px) {
	.sed-wrap { margin: 0 75px; }
}
@media (max-width: 1024px) {
	body { font-size: 17px; line-height: 1.62; }
	h1 { font-size: 44px; }
	h2 { font-size: 38px; }
	.sed-wrap { margin: 0 30px; }
}
@media (max-width: 767px) {
	body { font-size: 15px; line-height: 1.53; }
	.sed-posts { gap: 20px; }
	.sed-events { gap: 0; }
	.sed-event { padding-bottom: 25px; }
	.sed-event:last-child { padding-bottom: 0; }
	h1 { font-size: 36px; }
	h2 { font-size: 30px; }
	h3, .sed-related__title { font-size: 26px; }
	.sed-wrap { margin: 0 20px; }
	.sed-posts, .sed-posts--2, .sed-events { grid-template-columns: 1fr; }
	.sed-post__info { padding: 30px; }
	.sed-content .wp-block-columns { flex-direction: column; }
	.sed-form .sed-form__row { grid-template-columns: 1fr; }
}

/* Device tables: End of support, Qualification protocols (inc/device-tables.php) */
.sed-eos { margin: 30px 0 0; overflow-x: auto; }
.sed-eos__table { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0 4px; border: 0; font-size: 16px; line-height: 24px; }
.sed-eos__table th, .sed-eos__table td { padding: 15px 20px; border: 0; text-align: left; vertical-align: middle; }
.sed-eos__table thead th { background: var(--sed-sky); color: var(--sed-blue); font: 500 19px/26px var(--sed-head); letter-spacing: .1px; }
.sed-eos .sed-eos__table th, .sed-eos .sed-eos__table td, .sed-eos .sed-eos__table thead:first-child tr:first-child th { border: 0; }
.sed-eos__table tbody tr:nth-child(n) > th, .sed-eos__table tbody tr:nth-child(n) > td { background: #F3FDFF; }
.sed-eos__table tbody tr:hover > th, .sed-eos__table tbody tr:hover > td { background: #F3FDFF; }
.sed-eos-title { margin: 0 0 20px; }
.sed-eos__table tbody th { font: 600 17px/24px var(--sed-head); color: var(--sed-dark); white-space: nowrap; }
.sed-eos__table td { white-space: nowrap; }
@media (max-width: 767px) {
	.sed-eos__table th, .sed-eos__table td { padding: 12px 10px; }
	.sed-eos__table thead th { font-size: 16px; line-height: 21px; }
	.sed-eos__table td { white-space: normal; }
}
