/*
 * HRE Page Blocks — site colors from hre-bridge-idx's design tokens.
 * Each var() falls back to the same value, so the blocks look right even on a
 * page where that plugin's stylesheet is not loaded.
 *
 * Every rule is scoped under .hre-dd / .hre-cta / .hre-pb-notice and restates
 * background, color and border on hover and focus: GeneratePress styles every
 * <button> and <a>, and a partial override lets its colors show through.
 */

.hre-dd, .hre-cta {
	--hre-pb-ink:        var(--hre-ink, #242d29);
	--hre-pb-ink-hover:  var(--hre-green, #26332d);
	--hre-pb-ivory:      var(--hre-ivory, #f8f7f2);
	--hre-pb-line:       var(--hre-line, #dedfd9);
	--hre-pb-soft:       var(--hre-selection-bg, #e7ebe1);
	--hre-pb-sage:       var(--hre-navy-h, #6d7c59);
	--hre-pb-brass:      #a28b55;   /* = --hre-focus, the site's brass accent */
	--hre-pb-brass-hover:#b59b62;
	--hre-pb-on-brass:   #1b221f;   /* 4.9:1 on brass; white would be 3.3:1 and fail */
}

/* ── Dropdown ─────────────────────────────────────────────────────────── */

.hre-dd { position: relative; display: flex; margin: 28px 0; }
.hre-dd--center { justify-content: center; }
.hre-dd--left   { justify-content: flex-start; }
.hre-dd--right  { justify-content: flex-end; }

.hre-dd .hre-dd__btn,
.hre-dd .hre-dd__btn:hover,
.hre-dd .hre-dd__btn:focus {
	display: inline-flex; align-items: center; gap: 12px;
	padding: 13px 22px; margin: 0;
	font: inherit; font-size: 15px; font-weight: 600; letter-spacing: .02em; line-height: 1.2;
	border-radius: 5px; cursor: pointer; text-decoration: none;
	background: var(--hre-pb-ink); color: #fff; border: 1px solid var(--hre-pb-ink);
}
.hre-dd .hre-dd__btn:hover { background: var(--hre-pb-ink-hover); border-color: var(--hre-pb-ink-hover); }

.hre-dd--brass .hre-dd__btn,
.hre-dd--brass .hre-dd__btn:focus { background: var(--hre-pb-brass); border-color: var(--hre-pb-brass); color: var(--hre-pb-on-brass); }
.hre-dd--brass .hre-dd__btn:hover { background: var(--hre-pb-brass-hover); border-color: var(--hre-pb-brass-hover); color: var(--hre-pb-on-brass); }

.hre-dd--outline .hre-dd__btn,
.hre-dd--outline .hre-dd__btn:focus { background: transparent; color: var(--hre-pb-ink); border-color: var(--hre-pb-ink); }
.hre-dd--outline .hre-dd__btn:hover { background: var(--hre-pb-soft); color: var(--hre-pb-ink); border-color: var(--hre-pb-ink); }

.hre-dd .hre-dd__btn:focus-visible { outline: 3px solid var(--hre-pb-brass); outline-offset: 3px; }

.hre-dd__caret {
	width: 0; height: 0; flex: none;
	border-left: 5px solid transparent; border-right: 5px solid transparent;
	border-top: 6px solid currentColor; opacity: .8;
	transition: transform .15s ease;
}
.hre-dd__btn[aria-expanded="true"] .hre-dd__caret { transform: rotate(180deg); }

.hre-dd .hre-dd__menu {
	position: absolute; top: calc(100% + 8px); z-index: 50;
	min-width: 260px; max-width: min(360px, calc(100vw - 32px));
	max-height: 60vh; overflow-y: auto;
	margin: 0; padding: 0; list-style: none;
	background: #fff; border: 1px solid var(--hre-pb-line); border-radius: 6px;
	box-shadow: 0 10px 30px rgba(20, 26, 23, .14);
}
.hre-dd .hre-dd__menu[hidden] { display: none; }
.hre-dd--center .hre-dd__menu { left: 50%; transform: translateX(-50%); }
.hre-dd--left   .hre-dd__menu { left: 0; }
.hre-dd--right  .hre-dd__menu { right: 0; }

.hre-dd .hre-dd__menu li { margin: 0; padding: 0; border-top: 1px solid var(--hre-pb-line); }
.hre-dd .hre-dd__menu li:first-child { border-top: 0; }
.hre-dd .hre-dd__menu a,
.hre-dd .hre-dd__menu a:visited {
	display: block; padding: 14px 22px;
	font-size: 16px; line-height: 1.3; color: var(--hre-pb-ink); text-decoration: none;
}
.hre-dd .hre-dd__menu a:hover,
.hre-dd .hre-dd__menu a:focus { background: var(--hre-pb-soft); color: var(--hre-pb-ink); text-decoration: none; outline: none; }
.hre-dd .hre-dd__menu a:focus-visible { box-shadow: inset 3px 0 0 var(--hre-pb-brass); }
.hre-dd .hre-dd__menu a[aria-current="page"] { font-weight: 600; box-shadow: inset 3px 0 0 var(--hre-pb-sage); }

/* ── Call-to-action panel ─────────────────────────────────────────────── */

.hre-cta {
	margin: 40px 0; padding: 48px 24px;
	background: var(--hre-pb-ink); color: var(--hre-pb-ivory);
	border-radius: 6px; text-align: center;
}
.hre-cta .hre-cta__title {
	margin: 0 0 12px; color: #fff;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; line-height: 1.25;
}
.hre-cta .hre-cta__text {
	margin: 0 auto 28px; max-width: 46em;
	font-size: 1.05rem; line-height: 1.6; color: rgba(248, 247, 242, .84);
}
.hre-cta .hre-cta__btn,
.hre-cta .hre-cta__btn:visited,
.hre-cta .hre-cta__btn:focus {
	display: inline-block; padding: 15px 34px; margin: 0;
	font: inherit; font-size: 16px; font-weight: 600; line-height: 1.2;
	background: var(--hre-pb-brass); color: var(--hre-pb-on-brass);
	border: 0; border-radius: 5px; cursor: pointer; text-decoration: none;
}
.hre-cta .hre-cta__btn:hover { background: var(--hre-pb-brass-hover); color: var(--hre-pb-on-brass); text-decoration: none; }
.hre-cta .hre-cta__btn:focus-visible { outline: 3px solid var(--hre-pb-ivory); outline-offset: 3px; }

@media (max-width: 600px) {
	.hre-cta { padding: 36px 18px; }
	.hre-cta .hre-cta__btn { display: block; width: 100%; }
}

/* ── Editor-only notice ───────────────────────────────────────────────── */

.hre-pb-notice {
	margin: 20px 0; padding: 12px 16px;
	border: 2px dashed #a28b55; border-radius: 6px;
	background: #fbf8f0; color: #242d29; font-size: 14px; line-height: 1.5;
}
.hre-pb-notice code { font-size: 13px; }
