/*
 * CP-27: Divi 5 layouts on the six public pages (inc/divi-pages.php).
 * Divi's structural wrappers (section, row, column, module) become neutral boxes so the
 * approved page styles, keyed to the CSS classes the layout gives its sections, rows and
 * modules, apply unchanged. Loaded before rico-base.css and the page stylesheet: equal
 * specificity → the approved rule wins.
 */

.rico-divi .et-l,
.rico-divi .et_builder_inner_content,
.rico-divi .et_pb_section,
.rico-divi .et_pb_row,
.rico-divi .et_pb_column,
.rico-divi .et_pb_module,
.rico-divi .et_pb_text_inner,
.rico-divi .et_pb_button_module_wrapper {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	background-color: transparent;
	float: none;
}
.rico-divi .et_pb_section,
.rico-divi .et_pb_row {
	display: block;
}
.rico-divi .et_flex_section,
.rico-divi .et_flex_row,
.rico-divi .et_flex_column,
.rico-divi .et_flex_group,
.rico-divi .et_flex_module {
	row-gap: 0;
	column-gap: 0;
}
/* Columns and text modules as plain blocks: the approved vertical rhythm relies on
   collapsing margins between the blocks they hold (e.g. price note → first category). */
.rico-divi .et_pb_column,
.rico-divi .et_pb_text {
	display: block;
}
/* A button module's link fills its column like the approved grid item it replaces; the
   outline button keeps its own (content-width) display. */
.rico-divi .et_pb_button_module_wrapper > a.et_pb_button:not(.outline-btn) {
	display: flex;
}
.rico-divi .et_pb_row::after {
	content: none;
}
.rico-divi .et_pb_row .et_pb_column {
	width: auto;
	margin: 0;
}
.rico-divi .et_pb_text {
	color: inherit;
	font: inherit;
	line-height: inherit;
	word-wrap: normal;
}
/* Rico buttons: no Divi border, radius, icon or hover shift (CP-25: no CTA arrows). Divi's
   per-device button colours are !important, hence this one. */
.rico-divi a.et_pb_button.et_pb_button,
.rico-divi a.et_pb_button.et_pb_button:hover {
	max-width: none; /* Divi: .et_pb_module.et_pb_button:not(.et_block_module) { max-width: max-content } */
	line-height: 1.55 !important; /* body's; Divi's button line height is !important */
}
.rico-divi a.et_pb_button.et_pb_button:not(.outline-btn),
.rico-divi a.et_pb_button.et_pb_button:not(.outline-btn):hover {
	color: #fff !important;
}
/* Border and corners come from the approved class when the button has one (.btn, .outline-btn). */
.rico-divi a.et_pb_button:not(.btn):not(.outline-btn),
.rico-divi a.et_pb_button:not(.btn):not(.outline-btn):hover {
	border: 0;
	border-radius: 0;
}
/* Type: the page's, below any approved button class (.btn--hero sets its own size); buttons
   without a design class are bold like the approved grid buttons. */
.rico-divi a:where(.et_pb_button) {
	font: inherit;
	letter-spacing: normal;
	text-decoration: none;
}
.rico-divi a.et_pb_button:not(.btn):not(.outline-btn) {
	font-weight: 800;
}
.rico-divi a.et_pb_button::before,
.rico-divi a.et_pb_button::after {
	content: none !important;
	display: none !important;
}
.rico-divi a.et_pb_button:hover {
	letter-spacing: normal;
}
/* Native Heading, Divider and Group modules (CP-27, 2026-10-23): plain blocks so the heading's
   margins collapse with the eyebrow above it as in the approved pages; a divider drops
   Divi's own line (its approved shape comes from its class, e.g. .rule). */
.rico-divi .et_pb_heading,
.rico-divi .et_pb_heading_container,
.rico-divi .et_pb_divider,
.rico-divi .et_pb_group {
	display: block;
}
.rico-divi .et_pb_heading_container {
	width: auto; /* Divi: 100%, which inflates a heading laid out as a flex row (.process__title) */
	margin: 0;
	padding: 0;
}
/* Divi lays modules and groups out with --flex-direction: column. They are plain blocks here;
   where an approved rule makes one a flex box (.es-hero__actions, .process__title) it gets the
   CSS default row direction, as on the approved pages. */
.rico-divi .et_pb_module {
	--flex-direction: row;
}
/* A heading whose design class sits on the Heading module (marker rico-heading-inherit): the
   h1/h2 inside takes the wrapper's type (rico-base.css resets headings' letter spacing). */
.rico-divi .rico-heading-inherit .et_pb_module_header {
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-shadow: inherit;
	color: inherit;
}
/* The outline button keeps its approved gold text (Divi's button colour outranks it). */
.rico-divi a.et_pb_button.outline-btn.outline-btn {
	color: var(--gold) !important;
}
.rico-divi .et_pb_divider::before,
.rico-divi .et_pb_divider_internal {
	display: none;
}
