/* Optional EHOOD components. Policy styles apply only to .ehd-policy-document. */

/* Policy page layout */
.ehd-policy-document { color-scheme: light; --ehd-policy-brand: #315f22; --ehd-policy-brand-dark: #193513; --ehd-policy-page: #f4f7f1; --ehd-policy-surface: #fff; --ehd-policy-text: #20251f; --ehd-policy-muted: #5d675a; --ehd-policy-border: #dce5d7; --ehd-policy-error: #9d231f; }
.ehd-policy-document, .ehd-policy-document * { box-sizing: border-box; }
body.ehd-policy-document { margin: 0; background: var(--ehd-policy-page); color: var(--ehd-policy-text); font-family: Arial, Helvetica, sans-serif; line-height: 1.65; }
:where(.ehd-policy-document) a { color: var(--ehd-policy-brand); }
.ehd-policy-header { background: var(--ehd-policy-brand-dark); color: #fff; }
.ehd-policy-header__inner, .ehd-policy-footer__inner, .ehd-policy-page { width: min(100% - 2rem, 960px); margin: 0 auto; }
.ehd-policy-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 72px; }
.ehd-policy-brand { color: #fff; font-size: 1.25rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.ehd-policy-nav { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: flex-end; }
.ehd-policy-nav a { color: #eaf4e5; font-size: .92rem; text-decoration: none; }
.ehd-policy-nav a:hover, .ehd-policy-nav a:focus { text-decoration: underline; }
.ehd-policy-page { padding: 3rem 0 4rem; }
.ehd-policy-heading { margin: 0 0 1.25rem; color: var(--ehd-policy-brand-dark); font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; }
.ehd-policy-card { padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--ehd-policy-border); border-radius: 14px; background: var(--ehd-policy-surface); box-shadow: 0 12px 35px rgba(25, 53, 19, .08); }
.ehd-policy-metadata { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0 0 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ehd-policy-border); color: var(--ehd-policy-muted); font-size: .9rem; }
.ehd-policy-status { margin: 0; padding: 1rem; border-left: 4px solid var(--ehd-policy-error); background: #fff1f0; color: var(--ehd-policy-error); font-weight: 700; }
.ehd-policy-content h1, .ehd-policy-content h2, .ehd-policy-content h3, .ehd-policy-content h4 { margin-top: 2rem; color: var(--ehd-policy-brand-dark); line-height: 1.3; }
.ehd-policy-content p, .ehd-policy-content li { max-width: 78ch; }
.ehd-policy-content a { overflow-wrap: anywhere; }
.ehd-policy-optout { margin: 0; padding: 0; border: 0; background: transparent; color: var(--ehd-policy-brand); font: inherit; text-align: inherit; text-decoration: underline; cursor: pointer; }
.ehd-policy-optout:focus-visible { outline: 3px solid #bf7900; outline-offset: 3px; }
.ehd-policy-footer { padding: 1.5rem 0; background: #e7eee3; color: var(--ehd-policy-muted); font-size: .9rem; }
@media (max-width: 680px) {
    .ehd-policy-header__inner { align-items: flex-start; flex-direction: column; padding: 1rem 0; }
    .ehd-policy-nav { justify-content: flex-start; }
}

/* Cookie consent controls */
.ehd-cookie-banner[hidden], .ehd-cookie-dialog [hidden] { display: none !important; }
.ehd-cookie-banner, .ehd-cookie-dialog { color: #202b24; background: #fff; font: 16px/1.5 Arial, sans-serif; box-sizing: border-box; }
.ehd-cookie-banner { position: fixed; inset: auto .75rem .75rem; z-index: 10000; padding: .75rem 1rem; border: 1px solid #52665a; border-radius: 10px; box-shadow: 0 4px 18px #0002; display: flex; align-items: center; gap: 1rem; max-height: 65vh; overflow: auto; }
.ehd-cookie-banner > div:first-child { flex: 1; }
.ehd-cookie-banner h2, .ehd-cookie-dialog h2 { margin: 0 0 .5rem; font-size: 1.2rem; line-height: 1.3; }
.ehd-cookie-banner h2 { margin: 0 0 .2rem; font-size: 1rem; }
.ehd-cookie-banner p { margin: 0; max-width: 85ch; font-size: .875rem; line-height: 1.45; }
.ehd-cookie-banner > .ehd-cookie-actions { flex-shrink: 0; gap: .5rem; }
.ehd-cookie-banner .ehd-cookie-actions button { padding: .5rem .75rem; font-size: .875rem; }
.ehd-cookie-banner a, .ehd-cookie-dialog a { color: #173b2a; text-decoration: underline; }
:where(.ehd-cookie-banner, .ehd-cookie-dialog) .ehd-cookie-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
:where(.ehd-cookie-banner, .ehd-cookie-dialog) .ehd-cookie-actions button { padding: .7rem 1rem; min-height: 44px; border: 2px solid #173b2a; border-radius: 6px; background: #fff; color: #173b2a; font: 600 15px/1.3 Arial, sans-serif; cursor: pointer; }
:where(.ehd-cookie-banner, .ehd-cookie-dialog) .ehd-cookie-actions button:hover { background: #eaf1ec; }
:where(.ehd-cookie-banner, .ehd-cookie-dialog) .ehd-cookie-actions button:focus-visible, .ehd-cookie-dialog input:focus-visible { outline: 3px solid #bf7900; outline-offset: 3px; }
.ehd-cookie-dialog { width: min(620px, calc(100% - 2rem)); max-height: 85vh; overflow: auto; padding: 1.5rem; border: 1px solid #52665a; border-radius: 12px; margin: auto; }
.ehd-cookie-dialog::backdrop { background: #0008; }
.ehd-cookie-option { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem 0; }
.ehd-cookie-option input { width: 22px; height: 22px; flex: 0 0 22px; margin: .15rem 0 0; accent-color: #173b2a; }
@media (max-width: 760px) { .ehd-cookie-banner { flex-direction: column; align-items: stretch; inset: auto .5rem .5rem; gap: .6rem; padding: .75rem; } :where(.ehd-cookie-banner, .ehd-cookie-dialog) .ehd-cookie-actions button { flex: 1 1 auto; } }
