/* Dine In Rockdale directory. Colors match the logo; override the variables in Divi > Theme Options > Custom CSS. */
.dir-directory, .dir-detail, .dir-restaurant, .dir-breadcrumbs, .dir-health-card, .dir-cta, .dir-listing-header,
.dir-claim-banner, .dir-listing-body, .dir-health-score, .dir-disclaimer,
.dir-hero, .dir-home-heading, .dir-why, .dir-featured, .dir-rer, .dir-cta-band, .dir-site-footer, .dir-center,
.dir-update-intro, .dir-update-aside {
	--dir-red: #b3173c;
	--dir-red-dark: #8f1230;
	--dir-orange: #ee8b00;
	--dir-ink: #23232b;
	--dir-muted: #66666f;
	--dir-line: #e7e3de;
	--dir-surface: #ffffff;
	--dir-soft: #f7f4f0;
	--dir-dark: #2b2d36;
	--dir-a: #1e7b3a;
	--dir-b: #b06400;
	--dir-c: #b3173c;
	--dir-u: #6b1020;
	--dir-radius: 12px;
	--dir-shadow: 0 2px 4px rgba(20, 20, 30, .04), 0 8px 24px rgba(20, 20, 30, .06);
	color: var(--dir-ink);
	box-sizing: border-box;
}
.dir-directory *, .dir-detail *, .dir-listing-body *, .dir-listing-header * { box-sizing: border-box; }
.dir-muted { color: var(--dir-muted); }
.dir-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dir-icon { width: 1em; height: 1em; fill: currentColor; flex: none; vertical-align: -.125em; }

/* Buttons */
.dir-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 11px 20px; border-radius: 8px; border: 1px solid transparent;
	font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none !important;
	cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.dir-btn-block { display: flex; width: 100%; }
.dir-btn-primary { background: var(--dir-red); color: #fff !important; }
.dir-btn-primary:hover, .dir-btn-primary:focus-visible { background: var(--dir-red-dark); }
.dir-btn-soft { background: #efedea; color: var(--dir-ink) !important; }
.dir-btn-soft:hover { background: #e4e1dc; }
.dir-btn-outline { background: var(--dir-surface); border-color: var(--dir-line); color: var(--dir-ink) !important; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.dir-btn-outline:hover { border-color: var(--dir-red); color: var(--dir-red) !important; }
.dir-btn-light { background: rgba(255,255,255,.95); color: var(--dir-ink) !important; }
.dir-btn-light:hover { background: #fff; }
.dir-btn:focus-visible, .dir-directory a:focus-visible, .dir-detail a:focus-visible { outline: 3px solid var(--dir-orange); outline-offset: 2px; }

/* ---------- Directory: sidebar + results ---------- */
.dir-directory { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
@media (max-width: 980px) { .dir-directory { grid-template-columns: 1fr; gap: 20px; } }

.dir-sidebar { display: grid; gap: 24px; }
@media (min-width: 981px) { .dir-sidebar { position: sticky; top: 24px; } }

.dir-panel { padding: 24px; background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
.dir-panel-title { margin: 0 0 16px !important; padding: 0 !important; font-size: 22px !important; font-weight: 700; line-height: 1.2 !important; color: var(--dir-ink); }
.dir-filters { display: grid; gap: 16px; }
.dir-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.dir-field > label, .dir-field legend { font-size: 14px; font-weight: 600; color: var(--dir-ink); padding: 0; }
.dir-filters input[type="search"], .dir-filters select, .dir-sort {
	width: 100%; padding: 10px 12px; font-size: 15px; color: var(--dir-ink);
	background: var(--dir-surface); border: 1px solid #d3cec7; border-radius: 8px;
}
.dir-filters input[type="search"]:focus, .dir-filters select:focus, .dir-sort:focus { outline: none; border-color: var(--dir-red); box-shadow: 0 0 0 3px rgba(179, 23, 60, .15); }
.dir-diet { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; }
.dir-diet legend { width: 100%; margin-bottom: 4px; }
.dir-check { display: inline-flex; gap: 6px; align-items: center; font-size: 15px; cursor: pointer; }
.dir-check input { accent-color: var(--dir-red); width: 16px; height: 16px; }
.dir-reset { justify-self: center; color: var(--dir-red); font-size: 14px; }

.dir-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--dir-line); }
.dir-count { margin: 0 !important; padding: 0 !important; font-size: 17px; color: var(--dir-ink); }
.dir-toolbar-controls { display: flex; gap: 8px; align-items: center; }
.dir-sort { width: auto; min-width: 200px; padding: 9px 12px; }
.dir-view-btn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 8px; background: #efedea; color: var(--dir-ink); font-size: 20px; }
.dir-view-btn.is-active { background: var(--dir-ink); color: #fff; }
.dir-heading { margin: 16px 0 0 !important; padding: 0 !important; font-size: 34px !important; line-height: 1.15 !important; font-weight: 800; }
.dir-subheading { margin: 4px 0 8px !important; padding: 0 !important; font-size: 20px; color: var(--dir-muted); }

/* List rows */
.dir-list { display: grid; }
.dir-row { display: grid; grid-template-columns: 140px minmax(0, 1fr) 220px; gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--dir-line); }
.dir-row-media, .dir-listing-media { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; color: #b9b5b0; background: var(--dir-soft); }
.dir-row-media img, .dir-listing-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dir-placeholder { display: block; width: 100%; height: 100%; color: #bdb8b2; background: #fff; }
.dir-row-title { margin: 0 0 4px !important; padding: 0 !important; font-size: 24px !important; line-height: 1.2 !important; font-weight: 700; }
.dir-row-title a { color: var(--dir-red) !important; text-decoration: none; }
.dir-row-title a:hover { text-decoration: underline; }
.dir-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 8px !important; padding: 0 !important; font-size: 14px; }
.dir-row-cuisine { font-weight: 700; color: var(--dir-orange); text-transform: uppercase; letter-spacing: .04em; font-size: 13px; }
.dir-row-desc { margin: 0 0 8px !important; padding: 0 !important; font-size: 15px; line-height: 1.55; color: var(--dir-ink); }
.dir-row-loc { display: flex; gap: 6px; align-items: center; margin: 8px 0 0 !important; padding: 0 !important; font-size: 15px; color: var(--dir-ink); }
.dir-row-loc .dir-icon, .dir-listing-loc .dir-icon, .dir-card-address .dir-icon { color: var(--dir-red); }
.dir-row-actions { display: grid; gap: 10px; padding: 18px; background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
@media (max-width: 760px) {
	.dir-row { grid-template-columns: 84px minmax(0, 1fr); gap: 14px 16px; align-items: start; }
	.dir-row-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
	.dir-row-title { font-size: 20px !important; }
}

/* Grid cards */
.dir-grid { display: grid; grid-template-columns: repeat(var(--dir-cols, 3), minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
@media (max-width: 1200px) { .dir-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dir-grid { grid-template-columns: 1fr; } }
.dir-card { background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); overflow: hidden; box-shadow: var(--dir-shadow); transition: transform .15s, box-shadow .15s; }
.dir-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(20,20,30,.1); }
.dir-card-link { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; }
.dir-card-media { position: relative; aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center; background: var(--dir-soft); }
.dir-card-media img { width: 100%; height: 100%; object-fit: cover; }
.dir-card-media .dir-placeholder { width: 46%; height: auto; background: transparent; }
.dir-card-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.dir-card-title { margin: 0 !important; padding: 0 !important; font-size: 19px !important; line-height: 1.25 !important; color: var(--dir-red); font-weight: 700; }
.dir-card-cuisine { margin: 0 !important; padding: 0 !important; font-size: 12px; font-weight: 700; color: var(--dir-orange); text-transform: uppercase; letter-spacing: .04em; }
.dir-card-address, .dir-card-rating { display: flex; gap: 6px; align-items: center; margin: 0 !important; padding: 0 !important; font-size: 14px; color: var(--dir-muted); }

/* Score badge */
.dir-score { display: inline-flex; align-items: baseline; gap: 3px; padding: 5px 10px; border-radius: 999px; color: #fff; font-weight: 800; line-height: 1.1; background: var(--dir-u); white-space: nowrap; }
.dir-score-num { font-size: 18px; }
.dir-score-grade { font-size: 13px; opacity: .92; }
.dir-grade-a { --dir-grade: var(--dir-a); }
.dir-grade-b { --dir-grade: var(--dir-b); }
.dir-grade-c { --dir-grade: var(--dir-c); }
.dir-grade-u { --dir-grade: var(--dir-u); }
.dir-score.dir-grade-a, .dir-score.dir-grade-b, .dir-score.dir-grade-c, .dir-score.dir-grade-u { background: var(--dir-grade); }
.dir-score-lg { flex-direction: column; align-items: center; justify-content: center; gap: 0; width: 76px; height: 76px; padding: 0; border-radius: 50%; }
.dir-score-lg .dir-score-num { font-size: 28px; }
.dir-health-score { display: inline-flex; align-items: center; gap: 12px; }
.dir-score-caption { font-size: 14px; font-weight: 600; line-height: 1.3; }
.dir-grade-text { font-weight: 700; color: var(--dir-grade); }

/* Health score as a supporting detail */
.dir-health-chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--dir-muted) !important; background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: 999px; text-decoration: none !important; white-space: nowrap; }
.dir-health-chip .dir-icon { color: #9a958f; }
.dir-chip-grade { font-weight: 700; color: var(--dir-grade); }
a.dir-health-chip:hover { border-color: #cfc9c2; color: var(--dir-ink) !important; }
.dir-card-body .dir-health-chip { align-self: flex-start; margin-top: 2px; }
.dir-listing-health { margin: 4px 0 0 !important; padding: 0 !important; }

/* Tags & chips */
.dir-tags { list-style: none !important; margin: 8px 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 6px; }
.dir-tag { padding: 3px 10px !important; font-size: 12px; font-weight: 700; border-radius: 999px; background: #e9f4ea; color: #1e5f2f; }
.dir-tag-gluten-free { background: #fff1dc; color: #7d4300; }
.dir-tag-vegan { background: #e1f3e9; color: #135c32; }
.dir-closed { margin: 6px 0 0 !important; padding: 0 !important; font-size: 14px; font-weight: 700; color: var(--dir-red); }
.dir-stars { color: #e7a400; letter-spacing: 1px; }
.dir-stars-off { color: #d6d2cc; }

/* Pagination */
.dir-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 28px 0 0; }
.dir-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--dir-line); border-radius: 8px; color: var(--dir-ink); text-decoration: none; background: var(--dir-surface); }
.dir-pagination .page-numbers.current { background: var(--dir-red); border-color: var(--dir-red); color: #fff; }
.dir-empty { padding: 32px; text-align: center; background: var(--dir-soft); border-radius: var(--dir-radius); }

/* "Own a restaurant?" */
.dir-cta { position: relative; overflow: hidden; padding: 30px 22px 24px; text-align: center; color: #fff; background: var(--dir-dark); border-top: 4px solid var(--dir-red); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
.dir-cta-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 12px; border-radius: 50%; background: rgba(179, 23, 60, .28); color: #ff8aa5; font-size: 28px; }
.dir-cta-title { margin: 0 0 8px !important; padding: 0 !important; font-size: 22px !important; line-height: 1.25 !important; color: #fff !important; font-weight: 800; }
.dir-cta-text { margin: 0 0 18px !important; padding: 0 !important; font-size: 15px; line-height: 1.55; color: #c9c9d1; }

/* ---------- Detail page ---------- */
/* Once the Divi columns stack, the banner under the header does the sidebar box's job. */
@media (max-width: 980px) { .dir-cta-listing { display: none; } }

.dir-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px !important; padding: 0 !important; list-style: none !important; font-size: 14px; color: var(--dir-muted); }
.dir-breadcrumbs li { padding: 0 !important; }
.dir-breadcrumbs li + li::before { content: "/"; margin-right: 6px; color: #b9b5b0; }
.dir-breadcrumbs a { color: var(--dir-ink); text-decoration: none; }
.dir-breadcrumbs a:hover { color: var(--dir-red); text-decoration: underline; }

.dir-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.dir-detail-side { display: grid; gap: 24px; align-content: start; }
@media (max-width: 980px) { .dir-detail-grid { grid-template-columns: 1fr; } }

.dir-health-card { padding: 18px 20px; background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); }
.dir-health-card-title { margin: 0 0 10px !important; padding: 0 !important; font-size: 13px !important; line-height: 1.3 !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dir-muted); }
.dir-health-card-line { display: flex; gap: 12px; align-items: center; margin: 0 0 10px !important; padding: 0 !important; font-size: 14px; line-height: 1.4; }
.dir-health-card-links { margin: 0 !important; padding: 0 !important; font-size: 13px; color: var(--dir-muted); }
.dir-health-card-links a { color: var(--dir-red); }
/* Stacked on tablet/phone, the inspections section at the end of the page covers this. */
@media (max-width: 980px) { .dir-health-card { display: none; } }

.dir-listing-header { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: center; margin-bottom: 20px; }
@media (max-width: 600px) { .dir-listing-header { grid-template-columns: 1fr; gap: 14px; } .dir-listing-media { width: 96px; } }
.dir-listing-title { margin: 0 0 6px !important; padding: 0 !important; font-size: 40px !important; line-height: 1.12 !important; font-weight: 800; color: var(--dir-ink); }
@media (max-width: 600px) { .dir-listing-title { font-size: 28px !important; } }
.dir-listing-cuisines { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 6px !important; padding: 0 !important; }
.dir-listing-cuisines a { font-size: 14px; font-weight: 700; color: var(--dir-orange); text-transform: uppercase; letter-spacing: .04em; text-decoration: none; }
.dir-listing-cuisines a:hover { text-decoration: underline; }
.dir-listing-loc, .dir-listing-rating { display: flex; gap: 6px; align-items: center; margin: 0 0 4px !important; padding: 0 !important; font-size: 16px; }
.dir-listing-rating { flex-wrap: wrap; }
.dir-listing-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }

.dir-claim-banner { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; padding: 16px 20px; margin-top: 24px; background: var(--dir-soft); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); }
.dir-claim-banner > .dir-icon { font-size: 26px; color: var(--dir-red); }
.dir-claim-banner p { flex: 1 1 260px; margin: 0 !important; padding: 0 !important; font-size: 15px; }

.dir-listing-body, .dir-restaurant { padding: 8px 28px; background: var(--dir-surface); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
@media (max-width: 600px) { .dir-listing-body { padding: 4px 18px; } }
.dir-listing-body, .dir-listing-header { overflow-wrap: anywhere; }
.dir-listing-body .dir-table { overflow-wrap: normal; }
@media (max-width: 600px) { .dir-table th, .dir-table td { padding: 10px 8px !important; } .dir-table thead th { font-size: 12px; letter-spacing: .02em; } }
.dir-block { padding: 24px 0; border-bottom: 1px solid var(--dir-line); }
.dir-block:last-child { border-bottom: 0; }
.dir-block-title { margin: 0 0 14px !important; padding: 0 !important; font-size: 24px !important; line-height: 1.2 !important; font-weight: 800; color: var(--dir-ink); }
.dir-block p { font-size: 16px; line-height: 1.65; }
.dir-table { width: 100%; border-collapse: collapse; font-size: 15px; border: 0 !important; margin: 0 !important; }
.dir-table th, .dir-table td { padding: 12px 14px !important; text-align: left; vertical-align: top; border: 0 !important; border-bottom: 1px solid var(--dir-line) !important; }
.dir-table thead th { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--dir-muted); }
.dir-table-kv th { width: 34%; font-weight: 700; }
.dir-table a, .dir-block a { color: var(--dir-red); }
.dir-chips { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.dir-chips li { padding: 0 !important; }
.dir-chips a { display: inline-block; padding: 8px 14px; border: 1px solid var(--dir-line); border-radius: 999px; font-size: 14px; color: var(--dir-red); text-decoration: none; }
.dir-chips a:hover { border-color: var(--dir-red); }
.dir-source { margin: 12px 0 0 !important; padding: 0 !important; font-size: 13px !important; color: var(--dir-muted); }
.dir-rating-summary { margin: 0 0 14px !important; padding: 0 !important; }
.dir-review-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 18px; }
.dir-review { padding: 0 0 18px !important; border-bottom: 1px solid var(--dir-line); }
.dir-review:last-child { border-bottom: 0; padding-bottom: 0 !important; }
.dir-review-head { display: flex; gap: 10px; align-items: center; margin-bottom: 6px; }
.dir-review-photo { width: 40px; height: 40px; border-radius: 50%; }
.dir-review-author { font-weight: 700; }
.dir-review-meta { font-size: 13px; }
.dir-review-text p { margin: 0 0 6px; padding: 0; font-size: 15px; line-height: 1.6; }

/* ---------- Home page ---------- */
.dir-eyebrow { margin: 0 0 10px !important; padding: 0 !important; font-size: 13px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--dir-orange); }
.dir-btn-lg { padding: 15px 28px; font-size: 17px; }
.dir-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.dir-btn-ghost { background: transparent; border-color: rgba(255,255,255,.75); color: #fff !important; }
.dir-btn-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.dir-center { text-align: center; margin-top: 32px !important; }

.dir-hero { max-width: 720px; padding: 110px 0 120px; color: #fff; }
.dir-hero .dir-eyebrow { color: #ffc266; }
.dir-hero h1 { margin: 0 0 18px !important; padding: 0 !important; font-size: 58px !important; line-height: 1.05 !important; font-weight: 800; color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,.3); }
.dir-hero-lead { margin: 0 !important; padding: 0 !important; font-size: 21px; line-height: 1.55; color: rgba(255,255,255,.92) !important; }
@media (max-width: 760px) { .dir-hero { padding: 64px 0 72px; } .dir-hero h1 { font-size: 38px !important; } .dir-hero-lead { font-size: 18px; } }

.dir-home-heading { max-width: 700px; margin: 0 auto 36px; text-align: center; }
.dir-home-heading h2 { margin: 0 0 12px !important; padding: 0 !important; font-size: 38px !important; line-height: 1.15 !important; font-weight: 800; color: var(--dir-ink); }
.dir-home-heading p:not(.dir-eyebrow) { margin: 0 !important; font-size: 18px; color: var(--dir-muted); }
@media (max-width: 760px) { .dir-home-heading h2 { font-size: 28px !important; } }

.dir-why { height: 100%; padding: 28px 26px; background: var(--dir-surface); border: 1px solid var(--dir-line); border-top: 4px solid var(--dir-red); border-radius: var(--dir-radius); box-shadow: var(--dir-shadow); }
.dir-why-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin-bottom: 16px; border-radius: 50%; background: rgba(179, 23, 60, .08); color: var(--dir-red); }
.dir-why-icon svg { display: block; width: 30px; height: 30px; }
.dir-why h3 { margin: 0 0 10px !important; padding: 0 !important; font-size: 22px !important; line-height: 1.25 !important; font-weight: 800; color: var(--dir-ink); }
.dir-why p { margin: 0 !important; padding: 0 !important; font-size: 16px; line-height: 1.65; color: var(--dir-muted); }

.dir-featured .dir-grid { margin-top: 0; }
.dir-featured .dir-empty { background: var(--dir-surface); }

.dir-rer { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: center; max-width: 960px; margin: 0 auto; }
.dir-rer-logo img { display: block; width: 100%; height: auto; }
.dir-rer-title { margin: 0 0 14px !important; padding: 0 !important; font-size: 32px !important; line-height: 1.2 !important; font-weight: 800; color: var(--dir-ink); }
.dir-rer-text p:not(.dir-eyebrow) { font-size: 17px; line-height: 1.65; color: var(--dir-ink); }
@media (max-width: 760px) { .dir-rer { grid-template-columns: 1fr; gap: 20px; text-align: center; } .dir-rer-logo { width: 180px; margin: 0 auto; } .dir-rer .dir-btn-row { justify-content: center; } .dir-rer-title { font-size: 26px !important; } }

.dir-cta-band { padding: 24px 0; text-align: center; color: #fff; }
.dir-cta-band h2 { margin: 0 0 10px !important; padding: 0 !important; font-size: 34px !important; line-height: 1.2 !important; font-weight: 800; color: #fff !important; }
.dir-cta-band p { margin: 0 0 24px !important; font-size: 18px; color: rgba(255,255,255,.9) !important; }
@media (max-width: 760px) { .dir-cta-band h2 { font-size: 26px !important; } }

/* ---------- Update a listing ---------- */
.dir-update-intro { margin-bottom: 12px; }
.dir-update-intro h1 { margin: 0 0 14px !important; padding: 0 !important; font-size: 40px !important; line-height: 1.15 !important; font-weight: 800; color: var(--dir-ink); }
.dir-update-intro p:not(.dir-eyebrow) { font-size: 17px; line-height: 1.65; }
.dir-update-aside { padding: 24px; background: var(--dir-soft); border: 1px solid var(--dir-line); border-radius: var(--dir-radius); }
.dir-update-aside h3 { margin: 0 0 10px !important; padding: 0 !important; font-size: 18px !important; font-weight: 800; color: var(--dir-ink); }
.dir-update-aside h3 + ul, .dir-update-aside h3 + p { margin-bottom: 20px !important; }
.dir-update-aside ul { margin: 0 0 0 18px !important; padding: 0 !important; list-style: disc; }
.dir-update-aside li, .dir-update-aside p { font-size: 15px; line-height: 1.6; color: var(--dir-ink); }
.dir-update-aside a { color: var(--dir-red); }
/* Divi's contact form button in the site's crimson. */
.et_pb_contact_form_container .et_pb_button.et_pb_contact_submit { background: #b3173c; border-color: #b3173c; color: #fff; }
.et_pb_contact_form_container .et_pb_button.et_pb_contact_submit:hover { background: #8f1230; border-color: #8f1230; }

/* ---------- Bottom of every page: RER partner + disclaimer ---------- */
.dir-site-footer { padding: 22px max(16px, calc((100% - 1080px) / 2)); background: #f2efeb; border-top: 1px solid var(--dir-line); }
.dir-footer-partner { display: flex; gap: 18px; align-items: center; padding-bottom: 16px; margin-bottom: 14px; border-bottom: 1px solid var(--dir-line); }
.dir-footer-partner img { display: block; width: 88px; height: auto; }
.dir-footer-partner p { margin: 0; padding: 0; font-size: 15px; line-height: 1.5; color: var(--dir-ink); }
.dir-footer-partner a { color: var(--dir-red); font-weight: 700; }
.dir-footer-partner:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
@media (max-width: 600px) { .dir-footer-partner { flex-direction: column; text-align: center; } .dir-footer-partner img { width: 110px; } }

/* Theme Builder footer (dark) */
.dir-tb-footer { color: rgba(255, 255, 255, .86); font-size: 15px; line-height: 1.55; }
.dir-tb-footer a { color: #f6a53a; }
.dir-tb-footer.dir-footer-partner { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.dir-tb-footer.dir-footer-partner p { color: inherit; }
.dir-tb-footer .dir-footer-logo { flex: none; padding: 8px 10px; background: #fff; border-radius: 10px; }
.dir-tb-footer .dir-disclaimer { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .62); }
.dir-footer-legal { font-size: 13px; color: rgba(255, 255, 255, .55); }
.dir-footer-legal p { margin: 0 !important; padding: 0 !important; }

/* Disclaimer */
.dir-disclaimer { font-size: 12px; line-height: 1.55; color: var(--dir-muted); }
.dir-disclaimer a { color: inherit; text-decoration: underline; }
