/* Plugin-owned layouts and boxes. Theme-independent module layer. */
.ost-article__hero--youtube-consent { aspect-ratio:auto;background:transparent }
.ost-article__hero--youtube-consent .fd-youtube-card { width:100%;margin:0;border:0;border-radius:inherit;box-shadow:none }
.ost-article__hero--youtube-consent .fd-youtube-player,.ost-article__hero--youtube-consent .fd-youtube-ratio { width:100% }
.ost-article__hero--youtube-consent .fd-youtube-ratio { aspect-ratio:16/9 }
.ost-youtube-link-fallback { display:block;color:#fff;text-decoration:none }
.ost-youtube-link-fallback__ratio { position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#111 }
.ost-youtube-link-fallback__ratio img { display:block;width:100%;height:100%;object-fit:cover }
.ost-youtube-link-fallback__ratio::after { position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));content:'' }
.ost-youtube-link-fallback__play { position:absolute;z-index:2;top:50%;left:50%;width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.28);transform:translate(-50%,-50%) }
.ost-youtube-link-fallback__play::after { position:absolute;top:20px;left:26px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:19px solid #173f2b;content:'' }
.ost-youtube-link-fallback__label { position:absolute;z-index:2;right:18px;bottom:16px;left:18px;color:#fff;font-weight:800;text-align:center;text-shadow:0 1px 5px rgba(0,0,0,.8) }

.ost-admin-monthly-module .ost-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

/* F.T. Immobilien · Kaufobjekte auf Ostsachsen.de */
.ost-ft-housing { margin:clamp(28px,5vw,56px) 0 }
.ost-ft-property-grid { display:grid;grid-template-columns:repeat(var(--ost-ft-columns,3),minmax(0,1fr));gap:clamp(16px,2.4vw,28px) }
.ost-ft-property { overflow:hidden;border:1px solid rgba(19,70,43,.13);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(10,47,28,.09);transition:transform .2s ease,box-shadow .2s ease }
.ost-ft-property:hover { transform:translateY(-3px);box-shadow:0 18px 42px rgba(10,47,28,.14) }
.ost-ft-property[hidden] { display:none!important }
.ost-ft-property__link { display:flex;height:100%;flex-direction:column;color:#183e2a;text-decoration:none!important }
.ost-ft-property__image { position:relative;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,#deeee4,#bad8c5) }
.ost-ft-property__image img { width:100%;height:100%;object-fit:cover;transition:transform .3s ease }
.ost-ft-property:hover .ost-ft-property__image img { transform:scale(1.035) }
.ost-ft-property__image>b { position:absolute;left:14px;bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(7,35,20,.88);color:#fff;font-size:.76rem;line-height:1;letter-spacing:.02em }
.ost-ft-property__body { display:flex;flex:1;flex-direction:column;padding:20px }
.ost-ft-property__location { margin:0 0 8px;color:#178453;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em }
.ost-ft-property__body h3 { margin:0 0 15px;color:#173f2b;font-size:clamp(1.16rem,1.8vw,1.45rem);line-height:1.22 }
.ost-ft-property__facts { display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 18px }
.ost-ft-property__facts span,.ost-ft-property__facts strong { padding:6px 9px;border-radius:8px;background:#edf7f0;color:#315a43;font-size:.88rem }
.ost-ft-property__facts strong { background:#dcefe3;color:#12472c }
.ost-ft-property__button { align-self:flex-start;padding:10px 15px;border-radius:999px;background:#1e8a58;color:#fff;font-weight:800;line-height:1 }
.ost-ft-housing-source { margin:14px 0 0;color:#607168;font-size:.84rem;text-align:right }
.ost-ft-housing-source a { color:#176f49 }
.ost-ft-housing-filter { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr) auto;gap:12px;align-items:end;margin-bottom:14px;padding:clamp(18px,3vw,28px);border-radius:18px;background:#e7f4eb }
.ost-ft-housing-filter label { display:grid;gap:6px;margin:0;color:#244f37;font-weight:800 }
.ost-ft-housing-filter input,.ost-ft-housing-filter select { width:100%;min-height:46px;border:1px solid rgba(20,76,45,.2);border-radius:10px;background:#fff;color:#173f2b }
.ost-ft-housing-filter button { min-height:46px;padding:0 17px;border:0;border-radius:999px;background:#174c31;color:#fff;font-weight:800;cursor:pointer }
.ost-ft-housing-count { margin:0 0 18px;color:#50645a }
.ost-ft-property-empty,.ost-ft-property-error,.ost-ft-property-no-results { padding:18px;border-left:4px solid #1e8a58;background:#edf7f0 }
.ost-ft-property-error { border-color:#b32d2e;background:#fff0f0 }

@media (max-width:980px) {
	.ost-ft-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
	.ost-ft-housing-filter { grid-template-columns:1fr 1fr }
	.ost-ft-housing-filter button { grid-column:1/-1;justify-self:start }
}
@media (max-width:640px) {
	.ost-ft-property-grid,.ost-ft-housing-filter { grid-template-columns:1fr }
	.ost-ft-housing-filter button { width:100% }
	.ost-ft-housing-source { text-align:left }
}

/* Urlaub: ein eigener Suchzugang zwischen Inspiration und konkreter Planung. */
.ost-urlaub-search { box-sizing:border-box;margin-top:0;margin-bottom:clamp(42px,6vw,72px);padding:clamp(25px,4vw,42px);border:1px solid rgba(23,95,55,.14);border-radius:24px;background:#f5faf7;box-shadow:0 14px 38px rgba(24,85,49,.08) }
.ost-urlaub-search>.ost-eyebrow { margin:0 0 8px;color:#087747;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase }
.ost-urlaub-search>h2 { margin:0 0 8px;color:#172119 }
.ost-urlaub-search>p:not(.ost-eyebrow) { margin:0 0 20px;color:#506159 }
.ost-urlaub-search .wp-block-search,.ost-urlaub-search .wp-block-search__inside-wrapper { display:flex;max-width:none;gap:10px }
.ost-urlaub-search .wp-block-search__input { min-height:52px;padding:12px 18px;border:1px solid #d6e4db;border-radius:999px;background:#fff;font-size:1rem }
.ost-urlaub-search .wp-block-search__button { min-height:52px;margin:0;padding:12px 24px;border:0;border-radius:999px;background:#087747;color:#fff;font-weight:800 }
.ost-urlaub-search .ost-context-search__quick { margin-top:16px;gap:8px }
.ost-urlaub-search .ost-context-search__quick .wp-block-button__link { padding:8px 13px;border:1px solid #d6e4db;border-radius:999px;background:#fff;color:#126238;font-size:.86rem;font-weight:750 }
/* Ausflug: Schnellfinder kompakt in einer Desktop-Zeile. */
@media (min-width:1000px) {
	body.category-ausflug .ost-context-search { display:flex;align-items:center;gap:clamp(20px,2.2vw,38px) }
	body.category-ausflug .ost-context-search__bar { display:block;flex:0 0 auto;margin:0 }
	body.category-ausflug .ost-context-search__bar h2 { margin:0;white-space:nowrap }
	body.category-ausflug .ost-context-search__quick { display:flex;flex:1 1 auto;align-items:center;gap:12px;margin:0 }
	body.category-ausflug .ost-context-search__quick>span,body.category-ausflug .ost-context-search__quick a { flex:0 0 auto;white-space:nowrap }
}
@media (max-width:700px) {
	.ost-urlaub-search { width:calc(100% - 24px);padding:22px 17px;border-radius:18px }
	.ost-urlaub-search .wp-block-search__inside-wrapper { align-items:stretch;flex-direction:column }
	.ost-urlaub-search .wp-block-search__button { width:100% }
	.ost-urlaub-search .ost-context-search__quick { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) }
	.ost-urlaub-search .ost-context-search__quick .wp-block-button,.ost-urlaub-search .ost-context-search__quick .wp-block-button__link { width:100% }
	.ost-urlaub-search .ost-context-search__quick .wp-block-button__link { text-align:center }
}

.ost-events-home { margin-top:34px;margin-bottom:34px;padding:clamp(34px,4.5vw,54px) clamp(28px,4vw,46px);border:1px solid rgba(32,167,96,.14);border-radius:26px;background:linear-gradient(135deg,#f3fff7 0%,#e5f8ec 48%,#d5f1df 100%);box-shadow:0 18px 48px rgba(25,93,55,.09) }
.ost-events-home__grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px }
.ost-events-home__card { position:relative;display:flex;min-height:220px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:22px;border:1px solid rgba(29,91,52,.12);border-radius:18px;background:linear-gradient(145deg,#f8fff9,#dff5e7);box-shadow:0 12px 30px rgba(20,55,36,.13);color:#104e2e;text-decoration:none;isolation:isolate;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease }
.ost-events-home__image { position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.86) contrast(.94);transition:transform .45s ease }
.ost-events-home__mask { position:absolute;z-index:-2;inset:0;margin:0;background:linear-gradient(180deg,rgba(240,255,245,.5) 0%,rgba(218,245,228,.7) 50%,rgba(188,232,204,.9) 100%);content:'' }
.ost-events-home__card::after { position:absolute;z-index:2;top:17px;right:17px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(11,107,61,.13);border-radius:50%;background:rgba(255,255,255,.86);box-shadow:0 5px 14px rgba(23,90,52,.1);color:#0b6b3d;content:'📅';font-size:1.05rem }
.ost-events-home__card:hover,.ost-events-home__card:focus-visible { transform:translateY(-4px);border-color:rgba(24,126,70,.28);box-shadow:0 18px 40px rgba(20,55,36,.2);color:#104e2e }
.ost-events-home__card:hover .ost-events-home__image { transform:scale(1.04) }
.ost-events-home__copy { display:flex;flex-direction:column;position:relative;z-index:1;margin:0 }
.ost-events-home__copy small { margin-bottom:5px;color:#3e7658;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase }
.ost-events-home__card strong { padding-right:30px;color:#104e2e;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.1;text-shadow:none }
.ost-events-home__card i { position:absolute;z-index:1;right:20px;bottom:20px;color:#104e2e;font-size:1.35rem;font-style:normal;transition:transform .2s ease }
.ost-events-home__card:hover i { transform:translateX(4px) }

.ost-auto-events { margin:30px 0 46px }
.ost-auto-events__period { margin:0 0 22px;padding:15px 18px;border-left:4px solid var(--ost-green-dark,#176b3a);border-radius:0 12px 12px 0;background:#eff7ef;color:#33483a }
.ost-auto-events__month-heading { margin:0 0 22px;padding:25px 28px;border-radius:18px;background:linear-gradient(135deg,#173f2b,#2e7547);box-shadow:0 14px 34px rgba(20,67,36,.15);color:#fff }
.ost-auto-events__month-heading span { font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.78 }
.ost-auto-events__month-heading h2 { margin:5px 0 7px;color:#fff }
.ost-auto-events__month-heading p { margin:0;opacity:.88 }
.ost-auto-events__city-grid,.ost-auto-events--week { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start }
.ost-auto-events--week .ost-auto-events__period { grid-column:1/-1 }
.ost-auto-event-city { min-width:0;padding:24px;border:1px solid rgba(26,79,43,.09);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(23,65,36,.09) }
.ost-auto-event-city>h3 { margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #e3ebe5;color:#173f2b;font-size:clamp(1.25rem,2vw,1.6rem) }

@media (max-width:1100px) {
  .ost-events-home__grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
}

.ost-booking-box {
  margin: 34px 0;
  overflow: hidden;
  border: 1px solid #d9e3da;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(25, 58, 34, 0.08);
}
.ost-booking-disclosure { padding:7px 18px;background:#eff7ef;color:#47604b;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase }
.ost-booking-image,.ost-booking-media { margin:0 }
.ost-booking-image img,.ost-booking-media img { display:block;width:100%;aspect-ratio:16/8;object-fit:cover }
.ost-booking-image figcaption,.ost-booking-media figcaption { padding:5px 18px 0;color:#6c756e;font-size:.72rem;text-align:right }
.ost-booking-body { padding:22px 24px 24px }
.ost-booking-badge { margin:0 0 7px;color:var(--ost-green-dark,#176b3a);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase }
.ost-booking-title { margin:0;color:#1d2b20;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.12 }
.ost-booking-meta { margin:7px 0 16px;color:#657069;font-weight:600 }
.ost-booking-intro p { margin:0 0 17px }
.ost-booking-points { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:20px 0;padding:18px 0;border-top:1px solid #e5ebe6;border-bottom:1px solid #e5ebe6 }
.ost-booking-points h3 { margin:0 0 9px;font-size:1rem }
.ost-booking-list { margin:0;padding:0;list-style:none }
.ost-booking-list li { position:relative;margin:6px 0;padding-left:22px }
.ost-booking-list--pros li::before { content:'+';position:absolute;left:0;color:#2f7a3a;font-weight:900 }
.ost-booking-list--cons li::before { content:'–';position:absolute;left:0;color:#7b5b36;font-weight:900 }
.ost-booking-rating { display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:18px 0;padding:14px 16px;border-radius:10px;background:#f6f8f5 }
.ost-booking-rating span { display:block;margin-top:5px;color:#f4b400;font-size:2rem;letter-spacing:.05em;line-height:1 }
.ost-booking-rating small { display:block;width:100%;margin-top:7px;color:#66746e }
.ost-booking-visited { font-weight:700;color:#346c3d }
.ost-booking-details { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 }
.ost-booking-details strong,.ost-booking-details span { display:block }
.ost-booking-details strong { margin-bottom:4px;color:#344438 }
.ost-booking-widget { margin:20px 0 }
.ost-booking-cta { margin:22px 0 12px!important }
.ost-booking-cta a { display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border-radius:8px;background:var(--ost-green-dark,#176b3a);color:#fff!important;font-weight:800;text-decoration:none!important }
.ost-booking-cta a:hover { filter:brightness(.92) }
.ost-booking-note { margin:12px 0 0!important;color:#6b746d;font-size:.76rem;line-height:1.45 }
.ost-booking-suitable { margin:22px 0 }
.ost-booking-suitable>strong { display:block;margin-bottom:10px }
.ost-booking-suitable>div { display:flex;flex-wrap:wrap;gap:8px }
.ost-booking-suitable span { display:inline-block;padding:6px 10px;border-radius:999px;background:#edf7f0;color:#155f3d;font-size:.86rem;font-weight:700 }
.ost-booking-adlabel { font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase }

@media (max-width:1100px) {
  .ost-admin-monthly-module .ost-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width:700px) {
	.ost-admin-monthly-module .ost-feature-grid { grid-template-columns:1fr }
	.ost-events-home__grid,.ost-auto-events__city-grid,.ost-auto-events--week { grid-template-columns:1fr }
	.ost-events-home { padding:28px 18px;border-radius:20px }
	.ost-events-home__card { min-height:180px;padding:19px }
	.ost-auto-events--week .ost-auto-events__period { grid-column:auto }
	.ost-auto-event-city { padding:19px;border-radius:15px }
	.ost-auto-events__month-heading { padding:22px }
  .ost-booking-body { padding:18px }
  .ost-booking-points,.ost-booking-details { grid-template-columns:1fr;gap:14px }
  .ost-booking-image img,.ost-booking-media img { aspect-ratio:4/3 }
  .ost-booking-cta a { width:100% }
}

/* Native Gutenberg category hubs. The URL and query remain a category. */
.ost-region-hub { overflow:clip;background:#fff;color:#173126 }
.ost-region-hub__hero { position:relative;display:grid;min-height:clamp(300px,34vw,460px);place-items:end center;overflow:hidden;background:linear-gradient(135deg,#174b31,#0b2c1c);isolation:isolate }
.ost-region-hub__hero-media { position:absolute;z-index:-2;inset:0;margin:0 }
.ost-region-hub__hero-media img { display:block;width:100%;height:100%;object-fit:cover }
.ost-region-hub__hero-overlay { position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,25,16,.86) 0%,rgba(7,25,16,.55) 46%,rgba(7,25,16,.12) 100%) }
.ost-region-hub__hero-inner { width:min(1180px,calc(100% - 40px));padding:clamp(48px,7vw,82px) 0;color:#fff;text-align:left }
.ost-region-hub__hero-inner h1 { max-width:820px;margin:0;color:#fff;font-size:clamp(2.4rem,6vw,5rem);line-height:.98;text-wrap:balance }
.ost-region-hub__eyebrow { margin:0 0 10px;font-size:.78rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase }
.ost-region-hub__description { max-width:720px;margin:18px 0 0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6 }
.ost-region-hub__description p:last-child { margin-bottom:0 }
.ost-region-hub__content > *:not(.alignfull) { width:min(1180px,calc(100% - 40px));margin-right:auto;margin-left:auto }
.ost-region-intro { padding:clamp(42px,6vw,78px) 0;text-align:center }
.ost-region-intro h2 { margin-bottom:14px;font-size:clamp(2rem,4vw,3.7rem) }
.ost-region-intro p { max-width:780px;margin-right:auto;margin-left:auto;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75 }
.ost-region-nav-wrap { padding:clamp(30px,4vw,60px) 0;background:#e9f7ee }
.ost-region-nav-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px }
.ost-region-nav-card { min-width:0;overflow:hidden;border-radius:14px;box-shadow:0 10px 26px rgba(20,74,43,.13);transition:transform .2s ease,box-shadow .2s ease }
.ost-region-nav-card:hover,.ost-region-nav-card:focus-within { transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,74,43,.2) }
.ost-region-nav-card .wp-block-cover__image-background { transition:transform .45s ease }
.ost-region-nav-card:hover .wp-block-cover__image-background { transform:scale(1.045) }
.ost-region-nav-card h3 { margin:0;color:#fff;font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.1;text-wrap:balance }
.ost-region-nav-card h3 a { color:inherit;text-decoration:none }
.ost-region-nav-card h3 a::after { position:absolute;inset:0;content:'' }
.ost-region-topics { margin:0;padding:clamp(42px,6vw,76px) 0;background:linear-gradient(135deg,#f4fbf6 0%,#e6f5eb 58%,#dcefe3 100%) }
.ost-region-topics__inner { width:min(1180px,calc(100% - 40px));margin:0 auto }
.ost-region-topics__header { display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);gap:30px;align-items:end;margin-bottom:28px }
.ost-region-topics__header h2 { margin:0;color:#173f2b;font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.02;text-wrap:balance }
.ost-region-topics__header p { max-width:640px;margin:0;color:#4e6658;font-size:1.05rem;line-height:1.65 }
.ost-region-topics__grid { display:grid;grid-template-columns:repeat(var(--ost-region-topic-columns,3),minmax(0,1fr));gap:14px }
.ost-region-topic-card { min-width:0;overflow:hidden;border:1px solid rgba(23,63,43,.1);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,74,43,.08);transition:transform .2s ease,box-shadow .2s ease }
.ost-region-topic-card:hover,.ost-region-topic-card:focus-within { transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,74,43,.14) }
.ost-region-topic-card>a { display:grid;height:100%;grid-template-rows:auto 1fr;color:#173f2b;text-decoration:none }
.ost-region-topic-card__media { display:block;overflow:hidden;aspect-ratio:16/7;background:linear-gradient(135deg,#cbead5,#a9d9b9) }
.ost-region-topic-card__media>span { display:block;width:100%;height:100%;background:radial-gradient(circle at 80% 25%,rgba(255,255,255,.65),transparent 34%) }
.ost-region-topic-card__media img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease }
.ost-region-topic-card:hover .ost-region-topic-card__media img { transform:scale(1.04) }
.ost-region-topic-card__body { position:relative;display:flex;min-height:88px;flex-direction:column;justify-content:center;padding:17px 50px 17px 18px }
.ost-region-topic-card__body strong { font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.15 }
.ost-region-topic-card__body small { display:block;margin-top:6px;color:#5c6d63;font-size:.86rem;line-height:1.45 }
.ost-region-topic-card__body i { position:absolute;right:18px;top:50%;color:#0c7540;font-size:1.35rem;font-style:normal;transform:translateY(-50%);transition:transform .2s ease }
.ost-region-topic-card:hover .ost-region-topic-card__body i { transform:translate(4px,-50%) }
.ost-hub-marketing-wrap { margin:0;padding:clamp(34px,5vw,60px) 0;background:#fff }
.ost-hub-marketing { width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(24px,4vw,42px);border:1px solid #dcebe1;border-radius:20px;background:linear-gradient(135deg,#fbfdfb,#eff7f1);box-shadow:0 12px 34px rgba(20,74,43,.07) }
.ost-hub-marketing>h2 { margin:4px 0 8px;font-size:clamp(1.7rem,3vw,2.65rem) }
.ost-hub-marketing>p:not(.ost-hub-marketing__eyebrow) { max-width:680px;margin:0 0 22px;color:#52665a;line-height:1.6 }
.ost-hub-marketing__eyebrow { margin:0;color:#0c7540;font-size:.75rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase }
.ost-hub-category-partners { margin-top:clamp(42px,6vw,70px);margin-bottom:clamp(42px,6vw,70px) }
.ost-category-hub-active .ost-region-hub__content { display:flex;flex-direction:column }
.ost-category-hub-active .ost-region-hub__content>* { width:100% }
.ost-category-hub-active .ost-hub-category-partners { order:90;width:min(920px,calc(100% - 40px));margin:clamp(42px,5vw,64px) auto 30px }
.ost-category-hub-active .ost-region-hub__content>.ost-hub-partners { order:100 }
.ost-category-hub-active .ost-region-hub__content>.fdeh-discovery { order:110 }
.ost-category-hub-active .ost-hub-category-partners .ost-section-heading { margin-bottom:18px }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partners { margin:0 }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partners__grid { gap:14px }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partner { border:0;border-radius:16px;background:#f3f8f5;box-shadow:none }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partner img { aspect-ratio:16/8 }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partner__body { padding:14px 16px 16px }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partner__body h3 { font-size:clamp(1.05rem,1.5vw,1.28rem) }
.ost-category-hub-active .ost-hub-category-partners .ost-category-partner__body>span { display:none }
.ost-hub-partner-anchor { display:none!important }

/* Managed direct campaigns keep the established banner layout. */
.ost-managed-ad{display:block;width:100%;color:inherit;text-decoration:none}
.ost-managed-ad picture{display:block;width:100%}
.ost-managed-ad img{display:block;width:100%;height:auto;border:0;border-radius:0;object-fit:cover}
.ost-region-posts { width:min(1180px,calc(100% - 40px));margin:clamp(50px,7vw,86px) auto }
.ost-region-posts__header { max-width:800px;margin-bottom:26px }
.ost-region-posts__header h2 { margin:0 0 10px;font-size:clamp(2rem,3.6vw,3.2rem) }
.ost-region-posts__header p { margin:0;color:#51675b;font-size:1.05rem;line-height:1.6 }
.ost-region-posts__grid { display:grid;grid-template-columns:repeat(var(--ost-region-columns,3),minmax(0,1fr));gap:22px }
.ost-region-post-card { display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #dfebe3;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(20,74,43,.09);transition:transform .2s ease,box-shadow .2s ease }
.ost-region-post-card:hover { transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,74,43,.15) }
.ost-region-post-card__media { display:block;overflow:hidden;aspect-ratio:16/10;background:#e8f3eb }
.ost-region-post-card__media img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease }
.ost-region-post-card:hover .ost-region-post-card__media img { transform:scale(1.035) }
.ost-region-post-card__placeholder { display:block;width:100%;height:100%;background:linear-gradient(135deg,#dff3e6,#bfe4cc) }
.ost-region-post-card__body { display:flex;flex:1;flex-direction:column;padding:20px }
.ost-region-post-card__body h3 { margin:0 0 10px;font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.18 }
.ost-region-post-card__body h3 a { color:#173f2b;text-decoration:none }
.ost-region-post-card__body p { margin:0 0 16px;color:#53645b;line-height:1.55 }
.ost-region-post-card__link { margin-top:auto;color:#0c7540;font-weight:800;text-decoration:none }
.ost-region-posts__notice { padding:14px 18px;border-left:4px solid #d5a500;background:#fff8d9 }
.ost-region-quicklinks { margin-top:clamp(50px,7vw,86px)!important;margin-bottom:clamp(50px,7vw,86px)!important;padding:clamp(28px,4vw,48px);border-radius:20px;background:#e9f7ee }
.ost-region-quicklinks .is-style-two-columns { columns:2;column-gap:44px }
.ost-region-quicklinks li { break-inside:avoid;margin-bottom:9px }

@media (max-width:980px) {
	.ost-region-nav-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
	.ost-region-topics__grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
	.ost-region-posts__grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width:700px) {
	.ost-category-hub-active .ost-hub-category-partners { width:min(100% - 28px,920px) }
	.ost-category-hub-active .ost-hub-category-partners .ost-category-partners__grid { grid-template-columns:1fr }
	.ost-region-hub__hero { min-height:280px }
	.ost-region-hub__hero-overlay { background:linear-gradient(180deg,rgba(7,25,16,.12),rgba(7,25,16,.78)) }
	.ost-region-hub__hero-inner { width:min(100% - 28px,1180px);padding:42px 0;text-align:left }
	.ost-region-hub__content > *:not(.alignfull),.ost-region-posts { width:min(100% - 28px,1180px) }
	.ost-region-intro { padding:38px 0;text-align:left }
	.ost-region-intro p { margin-left:0 }
	.ost-region-nav-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px }
	.ost-region-nav-card { min-height:155px!important;border-radius:10px }
	.ost-region-topics { padding:38px 0 }
	.ost-region-topics__inner,.ost-hub-marketing { width:min(100% - 28px,1180px) }
	.ost-region-topics__header { display:block;margin-bottom:22px }
	.ost-region-topics__header p { margin-top:10px }
	.ost-region-topics__grid { grid-template-columns:1fr;gap:10px }
	.ost-region-topic-card>a { grid-template-columns:116px minmax(0,1fr);grid-template-rows:1fr }
	.ost-region-topic-card__media { height:100%;min-height:112px;aspect-ratio:auto }
	.ost-region-topic-card__body { min-height:112px;padding:15px 42px 15px 15px }
	.ost-hub-marketing { padding:22px 18px;border-radius:15px }
	.ost-region-posts__grid { grid-template-columns:1fr }
	.ost-region-quicklinks .is-style-two-columns { columns:1 }
}
