/*! s7-cookie-consent – sophie7 look for vanilla-cookieconsent 3.1.0 (fonts from the theme: Neue Rational, GT Super).
 * Contrast (WCAG): #2d2d2d on #fff 13.9:1 · #fff on #2d2d2d 13.9:1 · #555 on #fff 7.5:1 / on #f0ede6 6.3:1 ·
 * toggle off #767676 vs #fff 4.5:1 · toggle on #2d2d2d */
#cc-main {
	--cc-font-family: inherit;
	--cc-bg: #fff;
	--cc-primary-color: #2d2d2d;
	--cc-secondary-color: #555;
	--cc-link-color: #2d2d2d;
	--cc-modal-border-radius: 6px;
	--cc-btn-border-radius: 999px;
	--cc-btn-primary-bg: #2d2d2d;
	--cc-btn-primary-color: #fff;
	--cc-btn-primary-border-color: #2d2d2d;
	--cc-btn-primary-hover-bg: #000;
	--cc-btn-primary-hover-color: #fff;
	--cc-btn-primary-hover-border-color: #000;
	--cc-btn-secondary-bg: transparent;
	--cc-btn-secondary-color: #2d2d2d;
	--cc-btn-secondary-border-color: #2d2d2d;
	--cc-btn-secondary-hover-bg: #2d2d2d;
	--cc-btn-secondary-hover-color: #fff;
	--cc-btn-secondary-hover-border-color: #2d2d2d;
	--cc-separator-border-color: #e6e1d8;
	--cc-toggle-on-bg: #2d2d2d;
	--cc-toggle-off-bg: #767676;
	--cc-toggle-on-knob-bg: #fff;
	--cc-toggle-off-knob-bg: #fff;
	--cc-toggle-readonly-bg: #c2ccc1;
	--cc-toggle-readonly-knob-bg: #fff;
	--cc-toggle-readonly-knob-icon-color: #6f8170;
	--cc-cookie-category-block-bg: #f0ede6;
	--cc-cookie-category-block-border: #f0ede6;
	--cc-cookie-category-block-hover-bg: #e9e5dc;
	--cc-cookie-category-block-hover-border: #e9e5dc;
	--cc-cookie-category-expanded-block-hover-bg: #e9e5dc;
	--cc-section-category-border: #e6e1d8;
	--cc-footer-bg: #f0ede6;
	--cc-footer-color: #555;
	--cc-footer-border-color: #e6e1d8;
	--cc-overlay-bg: rgba(45, 45, 45, .55);
	--cc-webkit-scrollbar-bg: #e6e1d8;
	--cc-webkit-scrollbar-hover-bg: #2d2d2d;
	--cc-modal-margin: 20px;
	font-family: inherit;
}
#cc-main .cm, #cc-main .pm { box-shadow: 0 12px 40px rgba(45, 45, 45, .22); }
#cc-main .cm--box { max-width: 26em; }
#cc-main .s7cc-cid-line[hidden] { display: none !important; }
/* roomier banner */
#cc-main .cm { --s7cc-pad: 28px; }
#cc-main div.cm .cm__texts { padding-top: 26px !important; }
#cc-main div.cm .cm__title, #cc-main div.cm .cm__desc { padding-left: var(--s7cc-pad) !important; padding-right: var(--s7cc-pad) !important; }
#cc-main div.cm .cm__desc { padding-top: 10px !important; padding-bottom: 22px !important; }
#cc-main div.cm .cm__btns { padding: 20px var(--s7cc-pad) !important; }
#cc-main div.cm .cm__links { padding: 14px var(--s7cc-pad) !important; }
@media screen and (max-width: 640px) { #cc-main .cm { --s7cc-pad: 20px; } }
/* headings in GT Super like the site */
#cc-main .cm__title, #cc-main .pm__title { font-family: "GT Super", Georgia, serif; font-weight: 400; font-size: 1.5em; line-height: 1.15; }
#cc-main .pm__section-title { font-weight: 600; }
/* Category blocks: the library reuses --cc-btn-border-radius (999px pills) for them – an expanded block became an oval that clipped the cookie table (seen on phones, 2026-10-14). */
#cc-main .pm__section, #cc-main .pm__section--toggle, #cc-main .pm__section-title { border-radius: 18px; }
#cc-main .pm__section--toggle .pm__section-desc-wrapper { border-radius: 0 0 18px 18px; }
#cc-main .cm__desc, #cc-main .pm__section-desc { line-height: 1.55; }
#cc-main a, #cc-main .cm__link { color: #2d2d2d; text-decoration: underline; text-underline-offset: 2px; }
#cc-main a:hover { text-decoration-thickness: 2px; }
/* equal weight: Accept all + Necessary only share the primary style; same border everywhere */
#cc-main .cm__btn, #cc-main .pm__btn { font-weight: 500; border-width: 2px; }
#cc-main .cm__links a, #cc-main .s7cc-links a { margin-right: 1.25em; }
#cc-main .s7cc-cid { font-size: .85em; word-break: break-all; }
#cc-main .pm__table-th, #cc-main .pm__table-td { font-size: .85em; }
/* Elementor/Hello table + button styles must not leak in */
#cc-main table, #cc-main table td, #cc-main table th, #cc-main tbody > tr:nth-child(2n+1) > td { background: transparent; border: 0; }
#cc-main button { text-transform: none; letter-spacing: normal; }

/* visible focus */
#cc-main button:focus-visible,
#cc-main a:focus-visible,
.s7cc-settings-link:focus-visible {
	outline: 3px solid #2d2d2d !important;
	outline-offset: 2px;
}
#cc-main .cm__btn:focus-visible, #cc-main .pm__btn:focus-visible { box-shadow: 0 0 0 2px #fff; }
#cc-main .section__toggle:focus-visible ~ .toggle__icon,
#cc-main .section__toggle:focus-visible + .toggle__icon { box-shadow: 0 0 0 2px #fff, 0 0 0 5px #2d2d2d; }

/* phones: bottom sheet, fixed, no layout shift */
@media screen and (max-width: 640px) {
	#cc-main { --cc-modal-margin: 0; }
	#cc-main .cm {
		left: 0 !important; right: 0 !important; bottom: 0 !important;
		border-radius: 14px 14px 0 0;
		max-height: 88vh; max-height: 88dvh; overflow-y: auto;
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	#cc-main .cm__btn { min-height: 44px; }
}

/* footer link [s7_cookie_settings] / a[data-cc] – looks like a text link */
.s7cc-settings-link {
	-webkit-appearance: none; appearance: none;
	background: none; border: 0; border-radius: 0; box-shadow: none;
	padding: 0; margin: 0;
	color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit;
	text-decoration: underline; cursor: pointer;
}

/* [s7_cookie_table] on the privacy page */
.s7cc-table table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; font-size: .9em; }
.s7cc-table th, .s7cc-table td { padding: .5em .6em; border-bottom: 1px solid #e6e1d8; text-align: left; vertical-align: top; }
.s7cc-table th { font-weight: 600; }
.s7cc-table h4 { margin: 1.5em 0 .3em; }

/* sophie7: Elementor popups (e.g. brunch) wait until the cookie decision – the class goes away when the banner closes */
html.show--consent .elementor-popup-modal,
html.show--consent .elementor-popup-modal * { visibility: hidden !important; pointer-events: none !important; }
/* the theme forces the popup close button visible (.elementor-popup-modal .dialog-close-button, 0,2,0 !important) – the * above (0,2,1) wins */
