/* ==========================================================================
   70-pages.css - zona pages-text
   1. Base styles of the Divi shim (inc/70-divi-shim.php): typography, sections,
      rows, columns, gutters and modules, reproducing Divi 4 + the site's
      customizer settings (row max-width 1652px, buttons #ffb91f / radius 10px).
      Everything is scoped under .ms-dv (the wrapper printed by the shim).
      Per-instance styles (.ms-dv-text-0 ...) are generated inline by the shim.
   2. page.php / 404.php helpers.
   ========================================================================== */

/* --- 1. Wrapper + reset (Divi reset / body typography, scoped) ----------- */
.ms-dv {
	position: relative;
	z-index: 1;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7em;
	color: #666;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: left;
}
.ms-dv :where(a, abbr, acronym, address, b, big, blockquote, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var) {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
.ms-dv *, .ms-dv *::before, .ms-dv *::after { box-sizing: border-box; }
.ms-dv :where(ol, ul) { list-style: none; }
.ms-dv a { color: #2ea3f2; text-decoration: none; }
.ms-dv a:hover { text-decoration: none; }
.ms-dv p { padding-bottom: 1em; }
.ms-dv p:not(.has-background):last-of-type { padding-bottom: 0; }
.ms-dv :where(strong, b) { font-weight: 700; }
.ms-dv :where(em, i) { font-style: italic; }
.ms-dv :where(h1, h2, h3, h4, h5, h6) {
	color: #333;
	padding-bottom: 10px;
	line-height: 1em;
	font-weight: 500;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
}
.ms-dv :where(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a) { color: inherit; }
.ms-dv h1 { font-size: 30px; }
.ms-dv h2 { font-size: 26px; }
.ms-dv h3 { font-size: 22px; }
.ms-dv h4 { font-size: 18px; }
.ms-dv h5 { font-size: 16px; }
.ms-dv h6 { font-size: 14px; }
.ms-dv img { max-width: 100%; height: auto; }
.ms-dv blockquote { margin: 20px 0 30px; border-left: 5px solid; padding-left: 20px; }
.ms-dv blockquote p { padding-bottom: 0; }
.ms-dv ul { list-style-type: disc; padding: 0 0 23px 1em; line-height: 26px; }
.ms-dv ol { list-style-type: decimal; list-style-position: inside; padding: 0 0 23px; line-height: 26px; }
.ms-dv ul li ol { padding: 2px 0 2px 20px; }
.ms-dv ol li ol { padding: 2px 0 2px 35px; }
.ms-dv table:not(.variations) { border: 1px solid #eee; margin: 0 0 15px; text-align: left; width: 100%; }
.ms-dv thead th, .ms-dv tr th { color: #555; font-weight: 700; padding: 9px 24px; }
.ms-dv tr td { border-top: 1px solid #eee; padding: 6px 24px; }
.ms-dv .clearfix::after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.ms-dv .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* --- Structure ------------------------------------------------------------ */
.ms-dv-section {
	position: relative;
	background-color: #fff;
	background-position: 50%;
	background-size: cover;
}
.ms-dv-section--transparent { background-color: transparent; }
.ms-dv-section--fullwidth { padding: 0 !important; }
.ms-dv-inner-shadow { box-shadow: inset 0 0 7px rgba(0, 0, 0, .07); }
.ms-dv-row, .ms-dv-row-inner {
	position: relative;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.ms-dv-row { width: 80%; max-width: 1652px; margin: auto; }
.ms-dv-row-inner { width: 100%; }
.ms-dv-row::after, .ms-dv-row-inner::after { content: ""; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; width: 0; }
.ms-dv-row--empty { display: none; }
.ms-dv-has-divider > .ms-dv-row { z-index: 5; }
.ms-dv-col {
	float: left;
	position: relative;
	z-index: 2;
	min-height: 1px;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.ms-dv-row > .ms-dv-col:last-child, .ms-dv-row-inner > .ms-dv-col:last-child { margin-right: 0 !important; }
.ms-dv-module { position: relative; }
.ms-dv-with-border { border: 0 solid #333; }
.ms-dv-module.ms-dv-align-left { text-align: left; }
.ms-dv-module.ms-dv-align-center { text-align: center; }
.ms-dv-module.ms-dv-align-right { text-align: right; }
.ms-dv-module.ms-dv-align-justified { text-align: justify; }
.ms-dv-dark, .ms-dv-dark :where(h1, h2, h3, h4, h5, h6) { color: #fff !important; }

/* Section dividers (Divi .et_pb_{top,bottom}_inside_divider) */
.ms-dv-divider {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background-repeat: repeat-x;
}

@media (min-width: 981px) {
	.ms-dv-section { padding: 4% 0; }
	.ms-dv-row { padding: 2% 0; }
	.ms-dv-col-1_2 > .ms-dv-row-inner, .ms-dv-col-3_5 > .ms-dv-row-inner { padding: 5.82% 0; }
	.ms-dv-col-3_4 > .ms-dv-row-inner { padding: 3.735% 0; }
	.ms-dv-col-2_3 > .ms-dv-row-inner { padding: 4.2415% 0; }
	.ms-dv-section--specialty > .ms-dv-row { padding: 0; }
	.ms-dv-row--equal { display: flex; }
	.ms-dv-row > .ms-dv-col > .ms-dv-module:last-child,
	.ms-dv-row-inner > .ms-dv-col > .ms-dv-module:last-child { margin-bottom: 0; }

	/* Gutters (Divi et_pb_gutters1..4) */
	.ms-dv-g1 > .ms-dv-col { margin-right: 0; }
	.ms-dv-g1 > .ms-dv-col-4_4 { width: 100%; }
	.ms-dv-g1 > .ms-dv-col-3_4 { width: 75%; }
	.ms-dv-g1 > .ms-dv-col-2_3 { width: 66.667%; }
	.ms-dv-g1 > .ms-dv-col-3_5 { width: 60%; }
	.ms-dv-g1 > .ms-dv-col-1_2 { width: 50%; }
	.ms-dv-g1 > .ms-dv-col-2_5 { width: 40%; }
	.ms-dv-g1 > .ms-dv-col-1_3 { width: 33.3333%; }
	.ms-dv-g1 > .ms-dv-col-1_4 { width: 25%; }
	.ms-dv-g1 > .ms-dv-col-1_5 { width: 20%; }
	.ms-dv-g1 > .ms-dv-col-1_6 { width: 16.6667%; }
	.ms-dv-g1 > .ms-dv-col > .ms-dv-module { margin-bottom: 0; }

	.ms-dv-g2 > .ms-dv-col { margin-right: 3%; }
	.ms-dv-g2 > .ms-dv-col-4_4 { width: 100%; }
	.ms-dv-g2 > .ms-dv-col-3_4 { width: 74.25%; }
	.ms-dv-g2 > .ms-dv-col-2_3 { width: 65.667%; }
	.ms-dv-g2 > .ms-dv-col-3_5 { width: 58.8%; }
	.ms-dv-g2 > .ms-dv-col-1_2 { width: 48.5%; }
	.ms-dv-g2 > .ms-dv-col-2_5 { width: 38.2%; }
	.ms-dv-g2 > .ms-dv-col-1_3 { width: 31.3333%; }
	.ms-dv-g2 > .ms-dv-col-1_4 { width: 22.75%; }
	.ms-dv-g2 > .ms-dv-col-1_5 { width: 17.6%; }
	.ms-dv-g2 > .ms-dv-col-1_6 { width: 14.1667%; }
	.ms-dv-g2 > .ms-dv-col-4_4 > .ms-dv-module { margin-bottom: 1.5%; }
	.ms-dv-g2 > .ms-dv-col-3_4 > .ms-dv-module { margin-bottom: 2.02%; }
	.ms-dv-g2 > .ms-dv-col-2_3 > .ms-dv-module { margin-bottom: 2.284%; }
	.ms-dv-g2 > .ms-dv-col-3_5 > .ms-dv-module { margin-bottom: 2.551%; }
	.ms-dv-g2 > .ms-dv-col-1_2 > .ms-dv-module { margin-bottom: 3.093%; }
	.ms-dv-g2 > .ms-dv-col-2_5 > .ms-dv-module { margin-bottom: 3.927%; }
	.ms-dv-g2 > .ms-dv-col-1_3 > .ms-dv-module { margin-bottom: 4.787%; }
	.ms-dv-g2 > .ms-dv-col-1_4 > .ms-dv-module { margin-bottom: 6.593%; }
	.ms-dv-g2 > .ms-dv-col-1_5 > .ms-dv-module { margin-bottom: 8.523%; }
	.ms-dv-g2 > .ms-dv-col-1_6 > .ms-dv-module { margin-bottom: 10.588%; }

	.ms-dv-g3 > .ms-dv-col { margin-right: 5.5%; }
	.ms-dv-g3 > .ms-dv-col-4_4 { width: 100%; }
	.ms-dv-g3 > .ms-dv-col-3_4 { width: 73.625%; }
	.ms-dv-g3 > .ms-dv-col-2_3 { width: 64.833%; }
	.ms-dv-g3 > .ms-dv-col-3_5 { width: 57.8%; }
	.ms-dv-g3 > .ms-dv-col-1_2 { width: 47.25%; }
	.ms-dv-g3 > .ms-dv-col-2_5 { width: 36.7%; }
	.ms-dv-g3 > .ms-dv-col-1_3 { width: 29.6667%; }
	.ms-dv-g3 > .ms-dv-col-1_4 { width: 20.875%; }
	.ms-dv-g3 > .ms-dv-col-1_5 { width: 15.6%; }
	.ms-dv-g3 > .ms-dv-col-1_6 { width: 12.0833%; }
	.ms-dv-g3 > .ms-dv-col-4_4 > .ms-dv-module { margin-bottom: 2.75%; }
	.ms-dv-g3 > .ms-dv-col-3_4 > .ms-dv-module { margin-bottom: 3.735%; }
	.ms-dv-g3 > .ms-dv-col-2_3 > .ms-dv-module { margin-bottom: 4.242%; }
	.ms-dv-g3 > .ms-dv-col-3_5 > .ms-dv-module { margin-bottom: 4.758%; }
	.ms-dv-g3 > .ms-dv-col-1_2 > .ms-dv-module { margin-bottom: 5.82%; }
	.ms-dv-g3 > .ms-dv-col-2_5 > .ms-dv-module { margin-bottom: 7.493%; }
	.ms-dv-g3 > .ms-dv-col-1_3 > .ms-dv-module { margin-bottom: 9.27%; }
	.ms-dv-g3 > .ms-dv-col-1_4 > .ms-dv-module { margin-bottom: 13.174%; }
	.ms-dv-g3 > .ms-dv-col-1_5 > .ms-dv-module { margin-bottom: 17.628%; }
	.ms-dv-g3 > .ms-dv-col-1_6 > .ms-dv-module { margin-bottom: 22.759%; }

	.ms-dv-g4 > .ms-dv-col { margin-right: 8%; }
	.ms-dv-g4 > .ms-dv-col-4_4 { width: 100%; }
	.ms-dv-g4 > .ms-dv-col-3_4 { width: 73%; }
	.ms-dv-g4 > .ms-dv-col-2_3 { width: 64%; }
	.ms-dv-g4 > .ms-dv-col-3_5 { width: 56.8%; }
	.ms-dv-g4 > .ms-dv-col-1_2 { width: 46%; }
	.ms-dv-g4 > .ms-dv-col-2_5 { width: 35.2%; }
	.ms-dv-g4 > .ms-dv-col-1_3 { width: 28%; }
	.ms-dv-g4 > .ms-dv-col-1_4 { width: 19%; }
	.ms-dv-g4 > .ms-dv-col-1_5 { width: 13.6%; }
	.ms-dv-g4 > .ms-dv-col-1_6 { width: 10%; }
	.ms-dv-g4 > .ms-dv-col-4_4 > .ms-dv-module { margin-bottom: 4%; }
	.ms-dv-g4 > .ms-dv-col-3_4 > .ms-dv-module { margin-bottom: 5.479%; }
	.ms-dv-g4 > .ms-dv-col-2_3 > .ms-dv-module { margin-bottom: 6.25%; }
	.ms-dv-g4 > .ms-dv-col-3_5 > .ms-dv-module { margin-bottom: 7.042%; }
	.ms-dv-g4 > .ms-dv-col-1_2 > .ms-dv-module { margin-bottom: 8.696%; }
	.ms-dv-g4 > .ms-dv-col-2_5 > .ms-dv-module { margin-bottom: 11.364%; }
	.ms-dv-g4 > .ms-dv-col-1_3 > .ms-dv-module { margin-bottom: 14.286%; }
	.ms-dv-g4 > .ms-dv-col-1_4 > .ms-dv-module { margin-bottom: 21.053%; }
	.ms-dv-g4 > .ms-dv-col-1_5 > .ms-dv-module { margin-bottom: 29.412%; }
	.ms-dv-g4 > .ms-dv-col-1_6 > .ms-dv-module { margin-bottom: 40%; }

	/* last module of a column never has a bottom margin (after the gutter rules) */
	.ms-dv-row > .ms-dv-col > .ms-dv-module:last-child { margin-bottom: 0; }
}
/* Divi customizer: rows/sections on very wide screens */
@media (min-width: 2065px) {
	.ms-dv-row { padding: 41px 0; }
	.ms-dv-section { padding: 82px 0; }
}

/* --- Text / code / heading ------------------------------------------------ */
.ms-dv-text { word-wrap: break-word; }
.ms-dv-text ol, .ms-dv-text ul { padding-bottom: 1em; }
.ms-dv-text-inner, .ms-dv-code-inner, .ms-dv-heading-container { position: relative; }

/* --- Buttons (Divi .et_pb_button + customizer "all buttons") -------------- */
.ms-dv .ms-dv-btn {
	position: relative;
	display: inline-block;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7em !important;
	letter-spacing: -1px;
	padding: .3em 1em;
	color: rgba(10, 10, 10, .62);
	background-color: #ffb91f;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	border: 2px solid;
	border-width: 0 !important;
	border-radius: 10px;
	text-decoration: none;
	cursor: pointer;
	transition: all .2s;
}
.ms-dv .ms-dv-btn:hover {
	color: #fff !important;
	background-color: #0077b6;
	border-radius: 10px;
	letter-spacing: -1px;
	text-decoration: none;
}
.ms-dv-button-wrap > a { display: inline-block; }
.ms-dv-btn-align-left { text-align: left; }
.ms-dv-btn-align-right { text-align: right; }
.ms-dv-btn-align-center { text-align: center; }

/* --- Call to action (et_pb_promo) ----------------------------------------- */
.ms-dv-cta { padding: 40px 60px; text-align: center; }
.ms-dv-cta--nobg { padding: 0; }
.ms-dv-col-1_2 > .ms-dv-cta--bg, .ms-dv-col-1_3 > .ms-dv-cta--bg, .ms-dv-col-1_4 > .ms-dv-cta--bg,
.ms-dv-col-1_5 > .ms-dv-cta--bg, .ms-dv-col-1_6 > .ms-dv-cta--bg, .ms-dv-col-2_5 > .ms-dv-cta--bg,
.ms-dv-col-3_5 > .ms-dv-cta--bg { padding: 40px; }
.ms-dv-cta-desc { padding-bottom: 20px; position: relative; }
.ms-dv-cta-desc p:last-of-type { padding-bottom: 0; }

/* --- Blurb ---------------------------------------------------------------- */
.ms-dv-blurb-content { max-width: 550px; margin: 0 auto; position: relative; text-align: center; word-wrap: break-word; width: 100%; }
.ms-dv-blurb.ms-dv-align-left .ms-dv-blurb-container { text-align: left; }
.ms-dv-blurb.ms-dv-align-right .ms-dv-blurb-container { text-align: right; }
.ms-dv-blurb.ms-dv-align-center .ms-dv-blurb-container { text-align: center; }
.ms-dv-blurb.ms-dv-align-justified .ms-dv-blurb-container { text-align: justify; }
.ms-dv-blurb-content p:last-of-type { padding-bottom: 0; }
.ms-dv-blurb-title a { text-decoration: none; }
.ms-dv-blurb-image { display: inline-block; margin-bottom: 30px; line-height: 0; max-width: 100%; }
.ms-dv-blurb .ms-dv-image-wrap { display: block; margin: auto; }
.ms-dv-blurb-image img { border-radius: inherit; }
.ms-dv-blurb--left .ms-dv-blurb-content, .ms-dv-blurb--right .ms-dv-blurb-content { display: table; }
.ms-dv-blurb--left .ms-dv-blurb-image, .ms-dv-blurb--right .ms-dv-blurb-image { width: 32px; display: table-cell; line-height: 0; }
.ms-dv-blurb--left .ms-dv-blurb-image img, .ms-dv-blurb--right .ms-dv-blurb-image img { width: inherit; }
.ms-dv-blurb--left .ms-dv-blurb-container, .ms-dv-blurb--right .ms-dv-blurb-container { display: table-cell; vertical-align: top; }
.ms-dv-blurb--left .ms-dv-blurb-container { padding-left: 15px; }
.ms-dv-blurb--left .ms-dv-blurb-content { text-align: left; }
.ms-dv-blurb--right .ms-dv-blurb-container { padding-right: 15px; }
.ms-dv-blurb--right .ms-dv-blurb-content { text-align: right; }
.ms-dv-blurb--left .ms-dv-icon-glyph, .ms-dv-blurb--right .ms-dv-icon-glyph { width: 32px !important; height: 32px !important; }

/* Icons: Divi icon fonts are not loaded. The shim prints a sized placeholder
   (<span class="ms-dv-icon-glyph" data-icon="family:hex">); zones can replace it
   through the motoshop_divi_icon filter with an inline SVG. */
.ms-dv-icon-glyph { display: inline-block; vertical-align: middle; line-height: 1; }
.ms-dv-icon-glyph svg { width: 100%; height: 100%; fill: currentColor; }
.ms-dv-icon { text-align: center; }
.ms-dv-icon-wrap { display: inline-block; line-height: 0; }

/* --- Image ---------------------------------------------------------------- */
.ms-dv-image { display: block; margin-left: auto; margin-right: auto; line-height: 0; }
.ms-dv-image .ms-dv-image-wrap { display: inline-block; position: relative; max-width: 100%; }
.ms-dv-image .ms-dv-image-wrap img[src*=".svg"] { width: auto; }
.ms-dv-image img { position: relative; }

/* --- Number counter ------------------------------------------------------- */
.ms-dv-number-counter { word-wrap: break-word; margin: 0 auto 30px; position: relative; text-align: center; }
.ms-dv-counter-percent { height: 72px; position: relative; z-index: 2; }
.ms-dv .ms-dv-counter-number { font-size: 72px; line-height: 72px; font-weight: 500; padding-bottom: 0; }
.ms-dv-counter--with-title .ms-dv-counter-percent { margin-bottom: 20px; }
.ms-dv .ms-dv-counter-title { font-size: 18px; position: relative; }

/* --- Gallery (grid) ------------------------------------------------------- */
.ms-dv-gallery--grid .ms-dv-gallery-items { display: flex; flex-wrap: wrap; gap: 0 5.5%; }
.ms-dv-gallery--grid .ms-dv-gallery-item { width: 20.875%; margin-bottom: 5.5%; }
.ms-dv-gallery-item img { display: block; width: 100%; height: auto; }
.ms-dv-gallery--slider .ms-dv-gallery-items { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
.ms-dv-gallery--slider .ms-dv-gallery-item { flex: 0 0 100%; scroll-snap-align: start; }

/* --- Divider module ------------------------------------------------------- */
.ms-dv-divider-module, .ms-dv .ms-dv-divider:not(.ms-dv-divider--top):not(.ms-dv-divider--bottom) { position: relative; margin: 0 0 30px; }

/* --- Contact form --------------------------------------------------------- */
.ms-dv-contact-title { padding-bottom: 20px; }
.ms-dv-contact-form-el { display: flex; flex-wrap: wrap; justify-content: space-between; }
.ms-dv .ms-dv-contact-field { padding: 0 0 3%; width: 100%; }
.ms-dv .ms-dv-contact-field--half { width: 48.5%; }
.ms-dv-contact-input {
	width: 100%;
	border: 0;
	border-radius: 0;
	background-color: #eee;
	color: #999;
	padding: 16px;
	font-size: 14px;
	font-family: inherit;
	font-weight: inherit;
	-webkit-appearance: none;
}
textarea.ms-dv-contact-input { min-height: 150px; resize: vertical; display: block; }
.ms-dv-contact-submit-wrap { width: 100%; display: flex; justify-content: flex-end; align-items: center; gap: 20px; }
.ms-dv-contact-captcha p { padding: 0; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.ms-dv-contact-input.ms-dv-captcha { width: 60px; padding: 12px; text-align: center; }
.ms-dv-contact-message { padding-bottom: 20px; }
.ms-dv-contact-message--error { color: #c62828; }

/* --- Search / menu / breadcrumbs ----------------------------------------- */
.ms-dv-searchform > div { display: flex; }
.ms-dv-search-input { flex: 1; min-width: 0; padding: .715em; border: 1px solid #ddd; border-right: 0; font: inherit; color: #666; background: #fff; }
.ms-dv-search-submit { padding: .715em 1em; border: 1px solid #ddd; background: #ddd; color: #666; font: inherit; cursor: pointer; }
.ms-dv-menu-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; }
.ms-dv-menu-nav > ul > li > a { display: block; padding: 0 11px; color: rgba(0, 0, 0, .6); }
.ms-dv-menu-nav ul ul { display: none; }
.ms-dv-breadcrumbs-sep { padding: 0 6px; }

/* --- Responsive (below Divi desktop breakpoint: clean, usable) ------------ */
@media (max-width: 980px) {
	.ms-dv-section { padding: 50px 0; }
	.ms-dv-row, .ms-dv-col > .ms-dv-row-inner { padding: 30px 0; }
	.ms-dv-col { width: 100%; margin-bottom: 30px; float: none; }
	.ms-dv-row > .ms-dv-col:last-child, .ms-dv-row-inner > .ms-dv-col:last-child { margin-bottom: 0; }
	.ms-dv-col--empty { display: none; }
	.ms-dv-row > .ms-dv-col > .ms-dv-module { margin-bottom: 30px; }
	.ms-dv-row > .ms-dv-col > .ms-dv-module:last-child { margin-bottom: 0; }
	.ms-dv-module.ms-dv-align-left-tablet { text-align: left; }
	.ms-dv-module.ms-dv-align-center-tablet { text-align: center; }
	.ms-dv-module.ms-dv-align-right-tablet { text-align: right; }
	.ms-dv-btn-align-left-tablet { text-align: left; }
	.ms-dv-btn-align-center-tablet { text-align: center; }
	.ms-dv-btn-align-right-tablet { text-align: right; }
	.ms-dv-blurb--top-tablet .ms-dv-blurb-content { display: block; text-align: center; }
	.ms-dv-blurb--top-tablet .ms-dv-blurb-image, .ms-dv-blurb--top-tablet .ms-dv-blurb-container { display: block; width: auto; padding: 0; }
	.ms-dv-gallery--grid .ms-dv-gallery-item { width: 47.25%; }
	.ms-dv .ms-dv-contact-field--half { width: 100%; }
}
@media (max-width: 767px) {
	.ms-dv-cta { padding: 40px; }
	.ms-dv-cta--nobg { padding: 0; }
	.ms-dv-module.ms-dv-align-left-phone { text-align: left; }
	.ms-dv-module.ms-dv-align-center-phone { text-align: center; }
	.ms-dv-module.ms-dv-align-right-phone { text-align: right; }
	.ms-dv-btn-align-left-phone { text-align: left; }
	.ms-dv-btn-align-center-phone { text-align: center; }
	.ms-dv-btn-align-right-phone { text-align: right; }
	.ms-dv table:not(.variations) { display: block; overflow-x: auto; }
	.ms-dv-row { width: 90%; }
}

/* --- 2. page.php / 404.php ------------------------------------------------ */
.ms-page, .ms-404 { display: block; background-color: #fff; }
.ms-page .entry-content { margin: 0; padding: 0; }
/* Pages without builder content: Divi's default page look (title + text). */
.ms-page-default {
	width: 80%;
	max-width: 1652px;
	margin: 0 auto;
	padding: 58px 0 50px;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 14px;
	line-height: 1.7em;
	color: #666;
}
.ms-page-default .ms-page-title { color: #333; font-size: 30px; font-weight: 500; line-height: 1em; padding-bottom: 10px; margin: 0 0 20px; }
.ms-page-default .entry-content p { margin: 0; padding-bottom: 1em; }
.ms-page-default .entry-content a { color: #2ea3f2; }
.ms-page-default .entry-content ul { list-style: disc; padding: 0 0 23px 1em; }
.ms-page-default .entry-content ol { list-style: decimal inside; padding: 0 0 23px; }
.ms-404-fallback { text-align: center; padding: 120px 20px; }
.ms-404-fallback h1 { font-size: 31px; font-weight: 300; letter-spacing: -1px; color: #000; margin: 0 0 20px; }
.ms-404-fallback .ms-404-actions { display: flex; gap: 36px; justify-content: center; margin-top: 30px; flex-wrap: wrap; }
.ms-404-fallback .ms-404-actions a { display: inline-block; padding: 12px 40px; font-size: 20px; font-weight: 300; letter-spacing: -1px; color: rgba(0, 0, 0, .6); background: #ffb91f; border-radius: 10px; text-decoration: none; }
.ms-404-fallback .ms-404-actions a:hover { color: #fff; background: #1aa6d8; }
@media (max-width: 980px) {
	.ms-page-default { width: auto; margin: 0 16px; padding-top: 30px; }
}
