/* Coops — frontend base styles. Global design tokens and per-page styles are printed inline. */
.coops-root { width: 100%; }
.coops-root .coops-el, .coops-root .coops-el *, .coops-root .coops-el *::before, .coops-root .coops-el *::after { box-sizing: border-box; }
.coops-root img { max-width: 100%; height: auto; }
.coops-svg { width: 1em; height: 1em; flex: 0 0 auto; vertical-align: -0.125em; }

/* Layout */
.coops-section { position: relative; width: 100%; padding: var(--coops-section-py, 96px) var(--coops-section-px, 24px); }
.coops-section__inner { width: 100%; max-width: var(--coops-content-width, 1180px); margin-left: auto; margin-right: auto; display: flex; flex-direction: column; gap: 20px; }
.coops-columns { display: flex; }
.coops-column { min-width: 0; }
.coops-grid { display: grid; }
.coops-grid > * { min-width: 0; }
.coops-box-link { color: inherit; text-decoration: none; }

/* Basic */
.coops-root .coops-heading { margin: 0; }
.coops-heading a { color: inherit; text-decoration: none; }
.coops-text > :first-child { margin-top: 0; }
.coops-text > :last-child { margin-bottom: 0; }
.coops-textlink { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; text-decoration: none; }
.coops-textlink .coops-svg { transition: transform .2s ease; }
.coops-textlink:hover .coops-svg { transform: translateX(3px); }

.coops-root .coops-button { display: inline-flex; align-items: center; justify-content: center; gap: .5em; border: 0; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; align-self: flex-start; }
.coops-root .coops-button:hover { transform: translateY(-1px); }
.coops-root .coops-btn-sm { padding: 10px 18px; font-size: .9em; }
.coops-root .coops-btn-lg { padding: 18px 36px; font-size: 1.08em; }
.coops-root .coops-btn-full { width: 100%; align-self: stretch; }
.coops-root .coops-btn-text { background: none; padding: 0; color: var(--coops-link); }
.coops-root .coops-btn-custom { background: #111; color: #fff; }

.coops-image { margin: 0; overflow: hidden; }
.coops-image img { display: block; max-width: 100%; height: auto; }

.coops-image figcaption { margin-top: 8px; font-size: .88em; opacity: .7; }
.coops-icon { display: inline-flex; line-height: 1; }
.coops-icon a { color: inherit; display: inline-flex; }
.coops-list { margin: 0; padding-left: 1.3em; }
.coops-list li + li { margin-top: .4em; }
.coops-iconlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.coops-iconlist li { display: flex; }
.coops-iconlist li > a, .coops-iconlist li { align-items: flex-start; gap: .65em; color: inherit; text-decoration: none; }
.coops-iconlist li > a { display: flex; }
.coops-iconlist__icon { display: inline-flex; padding-top: .2em; color: var(--coops-color-accent, currentColor); }
.coops-divider { width: 100%; }

/* Media */
.coops-video { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.coops-video iframe, .coops-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.coops-gallery { display: grid; }
.coops-gallery__item { margin: 0; overflow: hidden; border-radius: inherit; }
.coops-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.coops-gallery__item a:hover img { transform: scale(1.04); }
.coops-gallery__item figcaption { font-size: .85em; padding-top: 6px; opacity: .75; }
.coops-map { position: relative; overflow: hidden; }
.coops-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.coops-slider { position: relative; overflow: hidden; }
.coops-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.coops-slider__track::-webkit-scrollbar { display: none; }
.coops-slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; display: flex; align-items: center; justify-content: center; background: #222 center / cover no-repeat; color: #fff; padding: 48px 24px; }
.coops-slide::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.coops-slide__inner { position: relative; z-index: 1; width: 100%; max-width: var(--coops-content-width, 1180px); display: flex; flex-direction: column; gap: 18px; }
.coops-align-center { align-items: center; text-align: center; }
.coops-align-left { align-items: flex-start; text-align: left; }
.coops-align-right { align-items: flex-end; text-align: right; }
.coops-root .coops-slide__title { color: #fff; margin: 0; }
.coops-slide__text { margin: 0; font-size: 1.15em; max-width: 640px; opacity: .9; }
.coops-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); color: #111; display: flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.coops-slider__prev { left: 16px; }
.coops-slider__next { right: 16px; }
.coops-slider__dots { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 8px; z-index: 2; }
.coops-slider__dots button { width: 9px; height: 9px; border-radius: 9px; border: 0; padding: 0; background: rgba(255,255,255,.5); cursor: pointer; transition: width .25s, background .25s; }
.coops-slider__dots button.is-active { width: 26px; background: #fff; }

/* Blocks */
.coops-iconbox { display: flex; }
.coops-iconbox--top { flex-direction: column; }
.coops-iconbox--left { flex-direction: row; align-items: flex-start; }
.coops-iconbox__icon { display: inline-flex; align-items: center; justify-content: center; font-size: 28px; color: var(--coops-color-accent, currentColor); align-self: flex-start; }
.coops-iconbox__icon:not(:empty)[style], .coops-iconbox__icon { border-radius: 12px; }
.coops-root .coops-iconbox__title { font-size: 1.25em; margin: 0 0 8px; }
.coops-iconbox__text > :first-child { margin-top: 0; }
.coops-iconbox__text > :last-child { margin-bottom: 0; }
.coops-iconbox__link { display: inline-flex; align-items: center; gap: .4em; margin-top: 12px; font-weight: 600; text-decoration: none; color: var(--coops-link); }

.coops-testimonial { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.coops-testimonial__stars { color: #f5a524; letter-spacing: 2px; }
.coops-testimonial__quote { margin: 0; font-size: 1.08em; line-height: 1.6; }
.coops-testimonial__author { display: flex; align-items: center; gap: 12px; }
.coops-testimonial__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.coops-testimonial__author small { display: block; opacity: .65; }

.coops-pricing { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 34px; border: 1px solid var(--coops-border, #e6e7eb); border-radius: var(--coops-radius, 14px); background: var(--coops-bg, #fff); }
.coops-pricing.is-featured { border-color: var(--coops-color-accent, #c46a2d); box-shadow: 0 24px 60px rgba(0,0,0,.1); }
.coops-pricing__badge { position: absolute; top: -12px; left: 34px; background: var(--coops-color-accent, #c46a2d); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 20px; }
.coops-root .coops-pricing__title { margin: 0; font-size: 1.2em; }
.coops-pricing__price span { font-size: 2.6em; font-weight: 800; color: var(--coops-heading, inherit); letter-spacing: -0.02em; }
.coops-pricing__price small { opacity: .6; margin-left: 4px; }
.coops-pricing__desc { margin: 0; opacity: .75; }
.coops-pricing__features { list-style: none; margin: 6px 0 12px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.coops-pricing__features li { display: flex; gap: 10px; align-items: flex-start; }
.coops-pricing__features .coops-svg { color: #1a9f5b; margin-top: .2em; }
.coops-pricing__features .is-excluded { opacity: .5; }
.coops-pricing__features .is-excluded .coops-svg { color: inherit; }

.coops-counter__number { font-size: 2.8em; font-weight: 800; line-height: 1.1; color: var(--coops-heading, inherit); letter-spacing: -0.02em; }
.coops-counter__label { opacity: .7; margin-top: 4px; }
.coops-progress { display: flex; flex-direction: column; gap: 18px; }
.coops-progress__head { display: flex; justify-content: space-between; font-weight: 600; margin-bottom: 8px; }
.coops-progress__track { height: 8px; border-radius: 8px; background: var(--coops-border, #e6e7eb); overflow: hidden; }
.coops-progress__bar { height: 100%; border-radius: 8px; background: var(--coops-color-accent, #c46a2d); transition: width 1.2s cubic-bezier(.2,.7,.2,1); }
.coops-rating { display: inline-flex; align-items: center; gap: .4em; line-height: 1; }
.coops-rating__stars { position: relative; display: inline-block; letter-spacing: .08em; }
.coops-rating__bg { color: rgba(0,0,0,.14); }
.coops-rating__fg { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: #f5a524; }
.coops-rating__value { font-size: .8em; font-weight: 700; }
.coops-social { display: flex; flex-wrap: wrap; }
.coops-social__link { display: inline-flex; align-items: center; justify-content: center; font-size: 18px; color: inherit; text-decoration: none; transition: transform .2s, background .2s, color .2s; }
.coops-social--circle .coops-social__link, .coops-social--square .coops-social__link { width: 2.3em; height: 2.3em; background: rgba(127,127,127,.14); }
.coops-social--circle .coops-social__link { border-radius: 50%; }
.coops-social--square .coops-social__link { border-radius: 10px; }
.coops-social__link:hover { transform: translateY(-2px); color: var(--coops-color-accent, inherit); }
.coops-alert { display: flex; gap: 12px; padding: 16px 18px; border-radius: 10px; border: 1px solid; }
.coops-alert .coops-svg { font-size: 20px; margin-top: 2px; }
.coops-alert p { margin: 4px 0 0; }
.coops-alert--info { background: #eff6ff; border-color: #bfdbfe; color: #1e3a8a; }
.coops-alert--success { background: #ecfdf3; border-color: #a6f4c5; color: #05603a; }
.coops-alert--warning { background: #fffaeb; border-color: #fedf89; color: #93370d; }
.coops-alert--error { background: #fef3f2; border-color: #fecdca; color: #912018; }
.coops-countdown { display: flex; gap: 14px; flex-wrap: wrap; }
.coops-countdown__unit { min-width: 84px; padding: 16px 12px; border-radius: 12px; background: rgba(127,127,127,.1); text-align: center; display: flex; flex-direction: column; gap: 4px; }
.coops-countdown__num { font-size: 2em; font-weight: 800; font-variant-numeric: tabular-nums; }
.coops-countdown__label { font-size: .8em; opacity: .7; text-transform: uppercase; letter-spacing: .08em; }
.coops-countdown__expired { font-weight: 600; }

/* Interactive */
.coops-accordion { display: flex; flex-direction: column; gap: 10px; }
.coops-acc__item { border: 1px solid var(--coops-border, #e6e7eb); border-radius: 12px; background: var(--coops-bg, #fff); overflow: hidden; }
.coops-root .coops-acc__head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; background: none; border: 0; font: inherit; font-weight: 600; color: var(--coops-heading, inherit); text-align: left; cursor: pointer; }
.coops-acc__chev { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .25s; flex: 0 0 auto; }
.coops-acc__item.is-open .coops-acc__chev { transform: rotate(-135deg) translateY(-3px); }
.coops-acc__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.coops-acc__item.is-open .coops-acc__body { grid-template-rows: 1fr; }
.coops-acc__inner { overflow: hidden; padding: 0 20px; }
.coops-acc__item.is-open .coops-acc__inner { padding-bottom: 18px; }
.coops-acc__inner > :first-child { margin-top: 0; }
.coops-acc__inner > :last-child { margin-bottom: 0; }

.coops-tabs__list { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.coops-root .coops-tabs__tab { background: none; border: 0; font: inherit; font-weight: 600; padding: 10px 16px; cursor: pointer; color: inherit; opacity: .6; transition: opacity .2s, background .2s, color .2s; }
.coops-tabs__tab.is-active { opacity: 1; }
.coops-tabs--underline .coops-tabs__list { border-bottom: 1px solid var(--coops-border, #e6e7eb); gap: 0; }
.coops-tabs--underline .coops-tabs__tab { border-bottom: 2px solid transparent; margin-bottom: -1px; }
.coops-tabs--underline .coops-tabs__tab.is-active { border-bottom-color: var(--coops-color-accent, currentColor); }
.coops-tabs--pills .coops-tabs__tab { border-radius: 30px; }
.coops-tabs--pills .coops-tabs__tab.is-active { background: var(--coops-color-primary, #111); color: #fff; }
.coops-tabs--boxed .coops-tabs__list { background: rgba(127,127,127,.1); padding: 5px; border-radius: 12px; display: inline-flex; }
.coops-tabs--boxed .coops-tabs__tab { border-radius: 9px; }
.coops-tabs--boxed .coops-tabs__tab.is-active { background: var(--coops-bg, #fff); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.coops-tabs__panel > :first-child { margin-top: 0; }

/* Forms */
.coops-form { display: flex; flex-direction: column; gap: 18px; }
.coops-form__fields { display: flex; flex-wrap: wrap; gap: 16px; }
.coops-form__field { display: flex; flex-direction: column; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.coops-w-100 { flex: 1 1 100%; }
.coops-w-50 { flex: 1 1 calc(50% - 8px); }
.coops-w-33 { flex: 1 1 calc(33.333% - 11px); }
@media (max-width: 767px) { .coops-w-50, .coops-w-33 { flex-basis: 100%; } }
.coops-form__field label, .coops-form__field legend { font-weight: 600; font-size: .92em; }
.coops-form__req { color: #d92d20; }
.coops-root .coops-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea), .coops-root .coops-search__form input {
	width: 100%; padding: 13px 15px; border: 1px solid var(--coops-border, #d7dae0); border-radius: 10px; background: #fff; color: #111; font: inherit; font-size: 16px; transition: border-color .2s, box-shadow .2s;
}
.coops-root .coops-form :is(input, select, textarea):focus, .coops-root .coops-search__form input:focus { outline: none; border-color: var(--coops-color-accent, #c46a2d); box-shadow: 0 0 0 4px rgba(196,106,45,.15); }
.coops-form textarea { resize: vertical; min-height: 120px; }
.coops-form__choice { display: flex; align-items: center; gap: 8px; font-weight: 400 !important; }
.coops-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.coops-form [aria-invalid="true"] { border-color: #d92d20 !important; }
.coops-form__msg:empty { display: none; }
.coops-form__msg { padding: 14px 16px; border-radius: 10px; background: #ecfdf3; color: #05603a; font-weight: 500; }
.coops-form__msg.is-error { background: #fef3f2; color: #912018; }
.coops-form.is-sending .coops-form__submit { opacity: .6; pointer-events: none; }
.coops-search__form { display: flex; gap: 8px; }
.coops-search__form button { flex: 0 0 auto; }

/* Site */
.coops-logo { display: inline-flex; }
.coops-logo a { display: inline-flex; color: inherit; text-decoration: none; }
.coops-logo img { display: block; width: 100%; height: auto; }
.coops-logo__text { font-weight: 800; font-size: 1.3em; letter-spacing: -0.01em; white-space: nowrap; }

.coops-menu { position: relative; display: flex; align-items: center; }
.coops-menu__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; width: 100%; }
.coops-menu__item { position: relative; }
.coops-root .coops-menu__list a { display: block; padding: 8px 0; color: var(--coops-heading, inherit); text-decoration: none; font-weight: 500; transition: color .2s; }
.coops-root .coops-menu__list a:hover, .coops-root .coops-menu__item.is-current > a { color: var(--coops-color-accent, inherit); }
.coops-menu__sub { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: -12px; min-width: 220px; background: var(--coops-bg, #fff); border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.14); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 50; }
.coops-menu__sub .coops-menu__sub { top: -8px; left: 100%; }
.coops-root .coops-menu__sub a { padding: 9px 12px; border-radius: 8px; }
.coops-root .coops-menu__sub a:hover { background: rgba(127,127,127,.1); }
.coops-menu__item:hover > .coops-menu__sub, .coops-menu__item:focus-within > .coops-menu__sub { opacity: 1; visibility: visible; transform: none; }
.coops-menu__item.has-children > a { padding-right: 16px; }
.coops-menu__item.has-children > a::after { content: ""; position: absolute; right: 2px; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); opacity: .6; }
.coops-menu__sub .has-children > a::after { transform: translateY(-50%) rotate(-45deg); right: 10px; }
.coops-menu__toggle, .coops-menu__subtoggle { display: none; }
.coops-menu__toggle { width: 44px; height: 44px; border: 0; background: none; padding: 10px; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; margin-left: auto; color: var(--coops-heading, #111); }
.coops-menu__toggle span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s, opacity .25s; }
.coops-menu.is-open .coops-menu__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.coops-menu.is-open .coops-menu__toggle span:nth-child(2) { opacity: 0; }
.coops-menu.is-open .coops-menu__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1023px) {
	.coops-menu--tablet .coops-menu__toggle { display: flex; }
	.coops-menu--tablet .coops-menu__list { display: none; position: absolute; top: 100%; right: 0; left: auto; width: min(320px, 90vw); flex-direction: column; align-items: stretch; gap: 0 !important; padding: 12px; background: var(--coops-bg, #fff); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.18); z-index: 100; }
	.coops-menu--tablet.is-open .coops-menu__list { display: flex; }
	.coops-menu--tablet .coops-menu__list a { padding: 12px 10px; }
	.coops-menu--tablet .coops-menu__sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; display: none; padding: 0 0 0 12px; min-width: 0; }
	.coops-menu--tablet .coops-menu__item.is-sub-open > .coops-menu__sub { display: block; }
	.coops-menu--tablet .coops-menu__subtoggle { display: block; position: absolute; right: 0; top: 4px; width: 40px; height: 40px; background: none; border: 0; cursor: pointer; }
	.coops-menu--tablet .coops-menu__subtoggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translate(-50%, -70%) rotate(45deg); }
	.coops-menu--tablet .coops-menu__item.has-children > a::after { display: none; }
}
@media (max-width: 767px) {
	.coops-menu--mobile .coops-menu__toggle { display: flex; }
	.coops-menu--mobile .coops-menu__list { display: none; position: absolute; top: 100%; right: 0; width: min(320px, 90vw); flex-direction: column; align-items: stretch; gap: 0 !important; padding: 12px; background: var(--coops-bg, #fff); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.18); z-index: 100; }
	.coops-menu--mobile.is-open .coops-menu__list { display: flex; }
	.coops-menu--mobile .coops-menu__list a { padding: 12px 10px; }
	.coops-menu--mobile .coops-menu__sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; display: none; padding: 0 0 0 12px; min-width: 0; }
	.coops-menu--mobile .coops-menu__item.is-sub-open > .coops-menu__sub { display: block; }
	.coops-menu--mobile .coops-menu__subtoggle { display: block; position: absolute; right: 0; top: 4px; width: 40px; height: 40px; background: none; border: 0; cursor: pointer; }
	.coops-menu--mobile .coops-menu__subtoggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translate(-50%, -70%) rotate(45deg); }
}

.coops-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: .92em; }
.coops-breadcrumbs a { color: inherit; opacity: .7; text-decoration: none; }
.coops-breadcrumbs a:hover { opacity: 1; }
.coops-breadcrumbs__sep { opacity: .4; }
.coops-copyright { margin: 0; opacity: .8; }

/* Dynamic */
.coops-postmeta { display: flex; flex-wrap: wrap; gap: 8px; font-size: .92em; opacity: .75; }
.coops-postmeta a { color: inherit; }
.coops-postexcerpt { margin: 0; }
.coops-postcontent > :first-child { margin-top: 0; }
.coops-postcontent img { border-radius: 10px; }
.coops-loop__grid { display: grid; }
.coops-card { display: flex; flex-direction: column; background: var(--coops-bg, #fff); border: 1px solid var(--coops-border, #e6e7eb); border-radius: var(--coops-radius, 14px); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.coops-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0,0,0,.08); }
.coops-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: rgba(127,127,127,.1); }
.coops-card__media a, .coops-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.coops-card__body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.coops-card__meta { font-size: .85em; opacity: .6; }
.coops-root .coops-card__title { margin: 0; font-size: 1.2em; }
.coops-card__title a { color: inherit; text-decoration: none; }
.coops-card__excerpt { margin: 0; opacity: .8; }
.coops-root .coops-card__more { margin-top: auto; padding-top: 6px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: .4em; color: var(--coops-link); }
.coops-loop__pagination { display: flex; gap: 6px; justify-content: center; margin-top: 36px; flex-wrap: wrap; }
.coops-loop__pagination .page-numbers { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border-radius: 10px; border: 1px solid var(--coops-border, #e6e7eb); color: inherit; text-decoration: none; }
.coops-loop__pagination .current { background: var(--coops-color-primary, #111); color: #fff; border-color: transparent; }
.coops-loop__empty { opacity: .7; }

/* Theme builder */
.coops-site-header { position: relative; z-index: 90; }
.coops-site-header.is-sticky { position: sticky; top: 0; }
.admin-bar .coops-site-header.is-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .coops-site-header.is-sticky { top: 46px; } }
.coops-site-header.is-overlay { position: absolute; left: 0; right: 0; top: 0; }
.coops-site-header.is-sticky.is-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.coops-site-header > .coops-root .coops-section { transition: padding .25s ease, background-color .25s ease; }
.coops-main { width: 100%; }
body.coops-canvas { margin: 0; }
.coops-fallback { max-width: var(--coops-content-width, 1180px); margin: 0 auto; padding: 72px 24px; }
.coops-fallback__title { margin-top: 0; }
.coops-fallback-header .coops-section__inner { flex-direction: row; align-items: center; justify-content: space-between; }
.coops-fallback-header a { color: inherit; text-decoration: none; font-weight: 700; }

/* Popups + lightbox */
.coops-popup { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.coops-popup.is-open { opacity: 1; visibility: visible; }
.coops-popup__overlay { position: absolute; inset: 0; background: rgba(10,12,16,.6); }
.coops-popup__box { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 40px); overflow: auto; background: var(--coops-bg, #fff); border-radius: 18px; box-shadow: 0 40px 100px rgba(0,0,0,.35); transform: translateY(14px) scale(.98); transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.coops-popup.is-open .coops-popup__box { transform: none; }
.coops-popup--bottom-right { align-items: flex-end; justify-content: flex-end; }
.coops-popup--bottom-right .coops-popup__overlay { display: none; }
.coops-popup--bottom-left { align-items: flex-end; justify-content: flex-start; }
.coops-popup--bottom-left .coops-popup__overlay { display: none; }
.coops-popup--top { align-items: flex-start; }
.coops-popup--bottom-right, .coops-popup--bottom-left { pointer-events: none; }
.coops-popup--bottom-right .coops-popup__box, .coops-popup--bottom-left .coops-popup__box { pointer-events: auto; }
.coops-popup__close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(127,127,127,.15); color: inherit; cursor: pointer; font-size: 20px; line-height: 1; }
.coops-popup .coops-section { padding: 40px; }
html.coops-popup-lock { overflow: hidden; }

.coops-lightbox { position: fixed; inset: 0; z-index: 99995; background: rgba(8,9,12,.92); display: flex; align-items: center; justify-content: center; padding: 40px; }
.coops-lightbox img { max-width: 100%; max-height: 100%; border-radius: 6px; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.coops-lightbox button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; width: 48px; height: 48px; border-radius: 50%; font-size: 24px; cursor: pointer; }
.coops-lightbox__close { top: 18px; right: 18px; }
.coops-lightbox__prev { left: 18px; top: 50%; transform: translateY(-50%); }
.coops-lightbox__next { right: 18px; top: 50%; transform: translateY(-50%); }

/* Entrance animations (only once JS is running) */
.coops-anim-ready [data-coops-anim] { opacity: 0; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.coops-anim-ready [data-coops-anim="fade-up"] { transform: translateY(28px); }
.coops-anim-ready [data-coops-anim="fade-down"] { transform: translateY(-28px); }
.coops-anim-ready [data-coops-anim="fade-left"] { transform: translateX(28px); }
.coops-anim-ready [data-coops-anim="fade-right"] { transform: translateX(-28px); }
.coops-anim-ready [data-coops-anim="zoom-in"] { transform: scale(.94); }
.coops-anim-ready [data-coops-anim="zoom-out"] { transform: scale(1.06); }
.coops-anim-ready [data-coops-anim].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.coops-anim-ready [data-coops-anim] { opacity: 1 !important; transform: none !important; transition: none !important; }
	.coops-slider__track { scroll-behavior: auto; }
}

/* Live parts inside exact Breakdance copies (posts loops, Woo, comments) */
.coops-bd .coops-loop__grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; }
.coops-card__media:empty { display: none; }
.coops-bd .coops-card { display: flex; flex-direction: column; border: 1px solid rgba(127,127,127,.18); border-radius: 12px; overflow: hidden; }
.coops-bd .coops-card__body { padding: 20px; }
.coops-bd .coops-card__title { margin: 0; font-size: 1.15em; }
.coops-bd .coops-card__title a { color: inherit; text-decoration: none; }
.coops-bd .coops-loop__pagination { margin-top: 28px; display: flex; gap: 8px; }

/* Forms in imported HTML designs */
.coops-html-form__msg { margin: 12px 0 0; font-weight: 600; }
.coops-html-form__msg.is-error { color: #b42318; }
form[data-coops-html-form].is-sending { opacity: .6; pointer-events: none; }
