/*
 * AllOfBD Probashi — front-end design system. Scoped to .aobp so it coexists with ListingPro
 * and any block theme.
 *
 * 1 Tokens · 2 Base & type · 3 Layout · 4 Top bar · 5 Page headers · 6 Home hero · 7 Buttons
 * 8 Cards, tags, tiles · 9 Bands · 10 Filters & forms · 11 Notices · 12 Wizard · 13 Detail
 * 14 Calendar · 15 Pride & card · 16 Badge maker · 17 Empty & trust · 18 Responsive
 */

/* ==========================================================================
   Root Typography & Isolation: Counter ListingPro's html { font-size: 10px }
   ========================================================================== */
html:has(body.aobp-page),
html.aobp-html,
body.aobp-page {
	font-size: 16px !important;
}

/* 1 Tokens ------------------------------------------------------------------------------ */
.aobp {
	/* Brand greens (bottle green of the flag, deepened for UI) */
	--aobp-g-950: #06231e;
	--aobp-g-900: #0b2e28;
	--aobp-g-800: #103f37;
	--aobp-g-700: #14544a;
	--aobp-g-600: #167a69;
	--aobp-g-200: #c4e0d8;
	--aobp-g-100: #dcefe9;
	--aobp-g-50: #eef7f4;
	/* Gold (kantha thread) and flag red, used sparingly */
	--aobp-gold: #d5a65f;
	--aobp-gold-600: #b98a43;
	--aobp-gold-100: #f6ead3;
	--aobp-red: #e2263d;
	/* Neutrals */
	--aobp-ink: #13221f;
	--aobp-ink-2: #43524e;
	--aobp-ink-3: #5c6b67;
	--aobp-line: #e2e8e5;
	--aobp-line-2: #cdd8d4;
	--aobp-canvas: #f5f7f5;
	--aobp-surface: #ffffff;
	/* Status */
	--aobp-ok: #17663a;
	--aobp-ok-bg: #e6f5ec;
	--aobp-warn: #8a5300;
	--aobp-warn-bg: #fff4de;
	--aobp-danger: #b3261e;
	--aobp-danger-bg: #fdecea;
	/* Shape & depth */
	--aobp-r-sm: 8px;
	--aobp-r: 12px;
	--aobp-r-lg: 16px;
	--aobp-r-xl: 24px;
	--aobp-sh-1: 0 1px 2px rgba(11, 46, 40, .06), 0 1px 1px rgba(11, 46, 40, .03);
	--aobp-sh-2: 0 2px 4px rgba(11, 46, 40, .05), 0 10px 24px -6px rgba(11, 46, 40, .12);
	--aobp-sh-3: 0 4px 8px rgba(11, 46, 40, .06), 0 24px 48px -16px rgba(11, 46, 40, .28);
	--aobp-focus: 0 0 0 3px #fff, 0 0 0 5px var(--aobp-g-600);
	/* Latin from the system UI font; Bangla glyphs fall through to the best installed Bangla
	   face: Hind Siliguri / Noto Sans Bengali (Android, Linux), Nirmala UI (Windows — without it
	   Windows falls back to the dated Vrinda), Kohinoor Bangla / Bangla Sangam MN (Apple). */
	--aobp-font: "Hind Siliguri", "Noto Sans Bengali", "Segoe UI Variable Text", "Segoe UI", "Nirmala UI", system-ui, -apple-system, "Kohinoor Bangla", "Bangla Sangam MN", Roboto, "Helvetica Neue", Arial, sans-serif;
	--aobp-top: var(--wp-admin--admin-bar--height, 0px);
	/* Aliases kept for older templates and theme overrides */
	--aobp-emerald: var(--aobp-g-800);
	--aobp-emerald-2: var(--aobp-g-900);
	--aobp-teal: var(--aobp-g-600);
	--aobp-teal-soft: var(--aobp-g-50);
	--aobp-teal-ink: #0e5c4f;
	--aobp-offwhite: var(--aobp-canvas);
	--aobp-radius: var(--aobp-r-lg);
	--aobp-radius-lg: var(--aobp-r-xl);
	--aobp-shadow: var(--aobp-sh-1);

	background: var(--aobp-canvas);
	color: var(--aobp-ink);
	font-family: var(--aobp-font);
	font-size: 16px;
	font-weight: 400; /* never inherit a theme's light body weight */
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* The page wrapper with no theme around it (templates/page-clean.php) */
body.aobp-clean { margin: 0; }
body.aobp-clean .aobp { min-height: 100vh; }

/* 2 Base & type ------------------------------------------------------------------------- */
.aobp *, .aobp *::before, .aobp *::after { box-sizing: border-box; }
.aobp :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, fieldset) { margin: 0; }
.aobp :where(ul, ol) { padding: 0; list-style: none; }
.aobp :where(p, li, dd, label, span, small, strong, a, button, input, select, textarea) { font-family: inherit; }
.aobp :where(strong, b) { font-weight: 700; }
.aobp a { color: var(--aobp-g-600); text-decoration: none; }
.aobp a:hover { color: var(--aobp-g-700); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* A link inside a sentence is not told apart by colour alone. */
.aobp :is(p, dd, small) > a:not([class]), .aobp .aobp-prose a:not([class]) { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* A transparent outline, not none: Windows High Contrast drops the shadow and shows the outline. */
.aobp :focus-visible { outline: 2px solid transparent; outline-offset: 2px; box-shadow: var(--aobp-focus); border-radius: 6px; }
.aobp h1, .aobp h2, .aobp h3, .aobp h4 { color: var(--aobp-g-900); font-family: var(--aobp-font); font-weight: 700; letter-spacing: -.015em; line-height: 1.2; text-transform: none; }
.aobp h1 { font-size: clamp(1.85rem, 1.35rem + 1.7vw, 2.6rem); letter-spacing: -.022em; }
.aobp h2 { font-size: clamp(1.3rem, 1.15rem + .55vw, 1.6rem); }
.aobp h3 { font-size: 1.06rem; letter-spacing: -.005em; }
.aobp[lang="bn"] { line-height: 1.75; }
.aobp[lang="bn"] :where(h1, h2, h3) { line-height: 1.4; letter-spacing: 0; }
.aobp-muted { color: var(--aobp-ink-2); }
.aobp-small { font-size: .875rem; }
.aobp-icon { flex: none; vertical-align: middle; }
.aobp-sr, .aobp-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aobp-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--aobp-g-800); color: #fff !important; padding: 10px 16px; border-radius: var(--aobp-r-sm); font-weight: 600; }
.aobp-skip:focus { top: 12px; }

/* 3 Layout ------------------------------------------------------------------------------ */
.aobp-wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
.aobp-narrow { max-width: 880px; }
.aobp-main { display: block; padding-bottom: 72px; outline: none; }
.aobp-section { margin-top: 56px; }
.aobp-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.aobp-section__head h2 { display: flex; align-items: center; gap: 10px; }
.aobp-section__n, .aobp-region-block__n { display: inline-grid; place-items: center; min-width: 28px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-teal-ink); font-size: .78rem; font-weight: 700; letter-spacing: 0; vertical-align: middle; }
.aobp-grid { display: grid; gap: 16px; }
.aobp-grid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.aobp-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.aobp-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.aobp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.aobp-actions--center { justify-content: center; }

/* 4 Top bar ----------------------------------------------------------------------------- */
.aobp-topbar { position: sticky; top: var(--aobp-top); z-index: 999 !important; background: var(--aobp-g-900) !important; color: #fff !important; box-shadow: 0 1px 0 rgba(255,255,255,.08), 0 6px 18px -10px rgba(0,0,0,.5); }
.aobp-topbar__inner { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.aobp .aobp-brand { display: flex; align-items: center; gap: 10px; flex: none; color: #fff !important; text-decoration: none !important; }
.aobp .aobp-brand__mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(145deg, #e6c07e, var(--aobp-gold)) !important; color: var(--aobp-g-900) !important; font-weight: 800 !important; font-size: 19px !important; box-shadow: inset 0 -2px 0 rgba(0,0,0,.12); }
.aobp .aobp-brand__text { display: flex; flex-direction: column; font-weight: 700; font-size: 1.12rem; line-height: 1.05; letter-spacing: -.01em; color: #fff !important; }
.aobp .aobp-brand__text small { margin-top: 3px; font-weight: 500; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.7) !important; }
.aobp-nav { flex: 1; min-width: 0; }
.aobp-nav__list { display: flex; align-items: center; gap: 2px; }
.aobp .aobp-nav__list a { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 9px 11px; border-radius: 10px; color: rgba(255,255,255,.88) !important; font-size: .935rem; font-weight: 500; white-space: nowrap; text-decoration: none !important; transition: color .15s, background-color .15s; }
.aobp .aobp-nav__list a:hover { color: #fff !important; background: rgba(255,255,255,.1) !important; }
.aobp .aobp-nav__list a.is-active { color: #fff !important; }
.aobp-nav__list a.is-active::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 2px; height: 2px; border-radius: 2px; background: var(--aobp-gold); }
.aobp-nav__list li:last-child { margin-left: auto; }
.aobp .aobp-nav__list a.aobp-nav__cta { margin-left: 8px; padding: 8px 14px; background: var(--aobp-gold) !important; color: var(--aobp-g-900) !important; font-weight: 700 !important; box-shadow: inset 0 -2px 0 rgba(0,0,0,.12); }
.aobp .aobp-nav__list a.aobp-nav__cta:hover { background: #e2b874 !important; color: var(--aobp-g-900) !important; }
.aobp-nav__list a.aobp-nav__cta::after { display: none; }
.aobp-nav__toggle { display: none; place-items: center; background: transparent; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; width: 44px; height: 44px; color: #fff; cursor: pointer; }
.aobp-nav__bars, .aobp-nav__bars::before, .aobp-nav__bars::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; position: relative; content: ""; transition: transform .2s, top .2s; }
.aobp-nav__bars::before { position: absolute; top: -6px; } .aobp-nav__bars::after { position: absolute; top: 6px; }
.aobp-nav__toggle[aria-expanded="true"] .aobp-nav__bars { background: transparent; }
.aobp-nav__toggle[aria-expanded="true"] .aobp-nav__bars::before { top: 0; transform: rotate(45deg); }
.aobp-nav__toggle[aria-expanded="true"] .aobp-nav__bars::after { top: 0; transform: rotate(-45deg); }
.aobp .aobp-lang { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 7px 13px; border: 1px solid rgba(255,255,255,.32) !important; border-radius: 999px; color: #fff !important; font-weight: 600; font-size: .9rem; white-space: nowrap; text-decoration: none !important; }
.aobp .aobp-lang:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }

/* 5 Page headers ------------------------------------------------------------------------ */
.aobp-crumbs { font-size: .85rem; }
.aobp-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--aobp-ink-3); }
.aobp-crumbs li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.aobp-crumbs li + li::before { content: ""; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .55; }
.aobp-crumbs a { color: var(--aobp-g-700) !important; }
.aobp-crumbs [aria-current] { color: var(--aobp-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46ch; }

.aobp .aobp-page-head { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #f0f6f3 100%) !important; border-bottom: 1px solid var(--aobp-line) !important; }
.aobp .aobp-page-head h1 { color: var(--aobp-g-900) !important; font-size: 34px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.aobp .aobp-page-head .aobp-lead { color: #334155 !important; font-size: 16px !important; line-height: 1.6 !important; }
.aobp .aobp-page-head .aobp-eyebrow { color: var(--aobp-g-700) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; }
.aobp-page-head::before { content: ""; position: absolute; inset: 0 0 0 auto; width: min(46%, 560px); pointer-events: none; opacity: .5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M22 6l7 16-7 16-7-16z' fill='none' stroke='%23167a69' stroke-opacity='.12'/%3E%3C/svg%3E");
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 70%); mask-image: linear-gradient(90deg, transparent, #000 70%); }
.aobp-page-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg, var(--aobp-g-600) 0 72%, var(--aobp-red) 72% 78%, var(--aobp-gold) 78% 100%); opacity: .9; }
.aobp-page-head__inner { position: relative; z-index: 1; padding-block: 22px 36px; }
.aobp-page-head__row { display: flex; align-items: flex-start; gap: 18px; margin-top: 18px; }
.aobp-page-head__text { flex: 1; min-width: 0; }
.aobp-page-head__icon { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 16px; background: var(--aobp-g-800); color: var(--aobp-gold); box-shadow: var(--aobp-sh-2); }
.aobp-page-head__icon--iso { font-size: 1.05rem; font-weight: 700; letter-spacing: .06em; }
.aobp-page-head__actions { display: flex; flex-wrap: wrap; gap: 10px; align-self: center; }
.aobp-eyebrow { color: var(--aobp-teal-ink); text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 700; margin-bottom: 8px; }
.aobp[lang="bn"] .aobp-eyebrow { letter-spacing: .02em; font-size: .9rem; }
.aobp-lead { color: var(--aobp-ink-2); font-size: 1.08rem; line-height: 1.6; margin-top: 10px; max-width: 70ch; }
.aobp-page-head .aobp-search { margin-top: 22px; }

/* Place header facts */
.aobp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 24px; }
.aobp-facts > div { padding: 14px 16px; background: rgba(255,255,255,.85); border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); box-shadow: var(--aobp-sh-1); }
.aobp-facts dt { display: flex; align-items: center; gap: 6px; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--aobp-ink-3); font-weight: 700; }
.aobp-facts dt .aobp-icon { color: var(--aobp-g-600); }
.aobp-facts dd { margin-top: 4px; font-weight: 700; font-size: 1.05rem; color: var(--aobp-g-900); font-variant-numeric: tabular-nums; }
.aobp-facts dd .aobp-muted { font-weight: 500; font-size: .82rem; }
.aobp-facts__urgent { border-color: #f3c9c4 !important; background: #fff8f7 !important; }
.aobp-facts__urgent dt .aobp-icon { color: var(--aobp-danger); }

/* Profile header (detail pages): cover banner + overlapping profile bar */
.aobp-profile { position: relative; }
.aobp-profile__cover { position: relative; height: 220px; overflow: hidden; background: var(--aobp-cover, var(--aobp-g-800)); }
.aobp-profile__cover::after { width: 560px; height: 560px; right: 2%; top: -300px; opacity: .6; }
.aobp-profile__cover .aobp-wrap { position: relative; z-index: 1; }
.aobp-profile__cover .aobp-crumbs { padding-top: 20px; }
.aobp-profile__cover .aobp-crumbs ol { color: rgba(255,255,255,.65); }
.aobp-profile__cover .aobp-crumbs a { color: rgba(255,255,255,.88); }
.aobp-profile__cover .aobp-crumbs [aria-current] { color: #fff; }
.aobp-profile__bar { position: relative; z-index: 2; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 28px; align-items: start; margin-top: -104px; padding: 26px 30px 28px; background: #fff; border: 1px solid var(--aobp-line); border-radius: 22px; box-shadow: var(--aobp-sh-3); }
.aobp-profile__media { margin-top: -70px; }
.aobp-profile__logo { display: grid; place-items: center; width: 124px; height: 124px; border-radius: 28px; object-fit: cover; background: var(--aobp-avatar-bg, var(--aobp-g-50)); color: var(--aobp-avatar-ink, var(--aobp-teal-ink)); border: 5px solid #fff; box-shadow: 0 14px 30px -12px rgba(11,46,40,.5); font-size: 2.3rem; }
.aobp .aobp-profile__date { width: 112px; border-width: 5px; border-radius: 24px; box-shadow: 0 14px 30px -12px rgba(11,46,40,.5); }
.aobp .aobp-profile__date span { font-size: .85rem; padding: 6px 0; border-radius: 18px 18px 0 0; }
.aobp .aobp-profile__date strong { font-size: 2.6rem; padding: 6px 0 10px; }
.aobp-profile__text { min-width: 0; }
.aobp .aobp-profile__text h1 { margin-top: 4px; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.25rem); }
.aobp-profile__facts { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 12px; color: var(--aobp-ink-2); }
.aobp-profile__facts li { display: flex; align-items: flex-start; gap: 7px; }
.aobp-profile__facts .aobp-icon { color: var(--aobp-g-600); margin-top: 3px; }
.aobp .aobp-profile__facts a { color: var(--aobp-ink-2); text-decoration: underline; text-decoration-color: var(--aobp-line-2); text-underline-offset: 3px; }
.aobp .aobp-profile__facts a:hover { color: var(--aobp-g-700); text-decoration-color: currentColor; }
.aobp-profile__verified { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 6px 12px; border-radius: 999px; background: var(--aobp-ok-bg); color: var(--aobp-ok); font-size: .85rem; font-weight: 600; }
.aobp-profile__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; align-self: center; max-width: 420px; }
.aobp-profile__preview { margin: 16px 0 0; }

/* Photo gallery: mosaic + full-screen slider */
.aobp-gallery { position: relative; margin-top: 20px; }
.aobp-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, 200px); gap: 8px; border-radius: 20px; overflow: hidden; }
.aobp-gallery__tile { position: relative; min-width: 0; min-height: 0; background: var(--aobp-g-100); }
.aobp-gallery__tile:first-child { grid-column: 1 / 3; grid-row: 1 / 3; }
.aobp-gallery__tile:nth-child(n+6) { display: none; }
.aobp-gallery--n1 .aobp-gallery__tile:first-child { grid-column: 1 / -1; }
.aobp-gallery--n2 .aobp-gallery__tile:nth-child(2) { grid-column: 3 / 5; grid-row: 1 / 3; }
.aobp-gallery--n3 .aobp-gallery__tile:nth-child(n+2) { grid-column: 3 / 5; }
.aobp-gallery--n4 .aobp-gallery__tile:nth-child(2) { grid-column: 3 / 5; }
.aobp-gallery__tile button { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; overflow: hidden; }
.aobp-gallery__tile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.aobp-gallery__tile button:hover img { transform: scale(1.04); filter: brightness(.92); }
.aobp-gallery__tile button:focus-visible { box-shadow: inset 0 0 0 4px var(--aobp-gold); border-radius: 0; }
.aobp-gallery__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(6,35,30,.55); color: #fff; font-size: 1.8rem; font-weight: 700; letter-spacing: -.01em; }
.aobp .aobp-gallery__all { position: absolute; right: 16px; bottom: 16px; z-index: 1; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 12px; background: rgba(255,255,255,.95); color: var(--aobp-g-900); font: inherit; font-weight: 700; font-size: .92rem; cursor: pointer; box-shadow: 0 6px 18px -6px rgba(0,0,0,.45); }
.aobp .aobp-gallery__all:hover { background: #fff; }
html.aobp-lb-open { overflow: hidden; }
.aobp-lightbox { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #070c0b; color: #fff; }
.aobp-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.aobp-lightbox::backdrop { background: rgba(0,0,0,.9); }
.aobp-lightbox__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 12px 16px; }
.aobp-lightbox__count { font-weight: 700; font-variant-numeric: tabular-nums; color: rgba(255,255,255,.85); }
.aobp-lightbox__title { font-weight: 600; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgba(255,255,255,.9); }
.aobp-lightbox__top .aobp-lightbox__btn { justify-self: end; }
.aobp .aobp-lightbox__btn { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; transition: background-color .15s; }
.aobp .aobp-lightbox__btn:hover { background: rgba(255,255,255,.2); }
.aobp .aobp-lightbox__btn:focus-visible { box-shadow: 0 0 0 3px var(--aobp-gold); }
.aobp-lightbox__stage { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 0 16px; min-height: 0; touch-action: pan-y; }
.aobp-lightbox__figure { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; height: 100%; min-height: 0; margin: 0; }
.aobp-lightbox__figure img { display: block; max-width: 100%; max-height: calc(100% - 40px); width: auto; height: auto; object-fit: contain; border-radius: 8px; user-select: none; -webkit-user-drag: none; }
.aobp-lightbox__figure figcaption { max-width: 70ch; text-align: center; color: rgba(255,255,255,.82); font-size: .95rem; }
.aobp-lightbox__thumbs { display: flex; gap: 8px; padding: 12px 16px 16px; overflow-x: auto; scrollbar-width: thin; justify-content: safe center; }
.aobp-lightbox__thumbs li { flex: none; }
.aobp-lightbox__thumbs button { display: block; width: 84px; height: 60px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: none; cursor: pointer; opacity: .55; transition: opacity .15s, border-color .15s; }
.aobp-lightbox__thumbs button:hover, .aobp-lightbox__thumbs button[aria-current="true"] { opacity: 1; }
.aobp-lightbox__thumbs button[aria-current="true"] { border-color: var(--aobp-gold); }
.aobp-lightbox__thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Logos: real logos fill the tile; missions without one show the flag of Bangladesh */
.aobp-card__logo, .aobp-profile__logo { object-fit: cover; }
.aobp-card__logo--office, .aobp-profile__logo--office { display: grid; place-items: center; background: var(--aobp-g-50); color: var(--aobp-g-800); }

/* Community membership */
.aobp-badge--member { background: var(--aobp-g-800); color: #fff; }
.aobp-badge--join { background: #fff; color: var(--aobp-g-700); }
.aobp-join { scroll-margin-top: calc(var(--aobp-top) + 96px); }
.aobp-join__state { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding: 12px 14px; border-radius: var(--aobp-r); background: var(--aobp-canvas); color: var(--aobp-ink-2); font-weight: 600; line-height: 1.45; }
.aobp-join__state .aobp-icon { margin-top: 2px; }
.aobp-join__state.is-member { background: var(--aobp-ok-bg); color: var(--aobp-ok); }
.aobp-join__state.is-pending { background: var(--aobp-warn-bg); color: var(--aobp-warn); }
.aobp-join__info { display: grid; gap: 12px; margin-bottom: 16px; }
.aobp-join__info dt { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--aobp-ink-3); }
.aobp[lang="bn"] .aobp-join__info dt { letter-spacing: 0; font-size: .85rem; }
.aobp-join__info dd { margin-top: 2px; font-weight: 600; line-height: 1.5; }
.aobp-join__info dd small { display: block; margin-top: 2px; font-weight: 500; font-size: .8rem; color: var(--aobp-ink-3); }
.aobp-join .aobp-disclosure[open] > summary { margin-bottom: 16px; }
.aobp-join > p + p, .aobp-join > p + .aobp-btn { margin-top: 10px; }
.aobp-manage__note { display: flex; align-items: center; gap: 6px; margin: -8px 0 16px; }
.aobp-manage__note .aobp-icon { color: var(--aobp-g-600); }
.aobp-requests { display: grid; gap: 12px; }
.aobp-requests > li { padding: 16px; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); background: var(--aobp-canvas); }
.aobp-requests__who { display: flex; align-items: center; gap: 12px; }
.aobp-requests__who > span:last-child { display: flex; flex-direction: column; min-width: 0; line-height: 1.4; }
.aobp-requests__who small { color: var(--aobp-ink-2); overflow-wrap: anywhere; }
.aobp-requests__avatar { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--aobp-g-100); color: var(--aobp-teal-ink); font-weight: 700; font-size: .85rem; }
.aobp-requests__msg { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--aobp-gold); border-radius: 0 var(--aobp-r-sm) var(--aobp-r-sm) 0; background: #fff; color: var(--aobp-ink); font-style: normal; line-height: 1.55; }
.aobp-requests__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.aobp-requests__actions .aobp-status { flex-basis: 100%; }
.aobp-requests--members > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; background: #fff; }
.aobp-requests--members .aobp-requests__actions { margin-top: 0; }
.aobp-manage__more { margin-top: 18px; border-top: 1px solid var(--aobp-line); padding-top: 14px; }
.aobp-manage__more > summary { cursor: pointer; font-weight: 700; color: var(--aobp-g-900); }
.aobp-manage__more[open] > summary { margin-bottom: 14px; }
.aobp-list .aobp-badge { text-decoration: none; }

/* Organizer logo on event cards and pages */
.aobp-org-badge { display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--aobp-avatar-bg, var(--aobp-g-50)); color: var(--aobp-avatar-ink, var(--aobp-teal-ink)); font-weight: 700; border: 3px solid #fff; box-shadow: 0 6px 14px -6px rgba(11,46,40,.5); text-decoration: none; }
.aobp-org-badge img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aobp-card__org { position: absolute; left: 66px; bottom: -6px; width: 38px; height: 38px; font-size: .72rem; }
.aobp-card__by { margin-bottom: 2px; font-size: .86rem; font-weight: 600; color: var(--aobp-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aobp-profile__media { position: relative; }
.aobp .aobp-profile__org { position: absolute; right: -16px; bottom: -12px; width: 56px; height: 56px; font-size: .95rem; color: var(--aobp-avatar-ink, var(--aobp-teal-ink)); }
.aobp .aobp-profile__org:hover { text-decoration: none; transform: scale(1.04); }
.aobp-profile__by { margin-top: 6px; color: var(--aobp-ink-2); font-weight: 600; }
.aobp-contact-list__icon--logo { overflow: hidden; font-size: .76rem; font-weight: 700; color: var(--aobp-teal-ink); }
.aobp-contact-list__icon--logo img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Card with a photo cover */
.aobp-card--photo .aobp-card__cover { height: 150px; }
.aobp-card__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.aobp-card--photo .aobp-card__cover::before { opacity: 1; background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, transparent 40%, transparent 60%, rgba(0,0,0,.25) 100%); }
.aobp-card--photo .aobp-card__cover::after { display: none; }
.aobp-card--photo:hover .aobp-card__photo { transform: scale(1.04); }

/* Detail blocks */
.aobp-detail__main > * + * { margin-top: 20px; }
.aobp-block { padding: 26px 28px; background: #fff; border: 1px solid var(--aobp-line); border-radius: 18px; box-shadow: var(--aobp-sh-1); }
.aobp .aobp-block__title { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-size: 1.15rem; }
.aobp-block__title::before { content: ""; flex: none; width: 4px; height: 20px; border-radius: 4px; background: linear-gradient(180deg, var(--aobp-g-600), var(--aobp-gold)); }
.aobp-block .aobp-prose { max-width: 72ch; }
.aobp-glance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
.aobp-glance > div { display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 12px; align-items: start; align-content: start; }
.aobp-glance__icon { grid-row: span 2; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--aobp-g-50); color: var(--aobp-g-600); }
.aobp-glance dt { font-size: .73rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--aobp-ink-3); }
.aobp[lang="bn"] .aobp-glance dt { letter-spacing: 0; font-size: .85rem; }
.aobp-glance dd { margin-top: 2px; font-weight: 600; color: var(--aobp-ink); line-height: 1.5; overflow-wrap: anywhere; }
.aobp-services { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 10px; }
.aobp-services li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--aobp-r); background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-teal-ink); font-weight: 600; line-height: 1.35; }
.aobp-callout { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; background: #fff8ec; border: 1px solid #f0ddb5; color: #5f4210; }
.aobp-callout > .aobp-icon { color: var(--aobp-gold-600); margin-top: 1px; }
.aobp-callout p { margin-top: 2px; }
.aobp-linklist { display: grid; gap: 6px; }
.aobp .aobp-linklist a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: var(--aobp-r); background: var(--aobp-canvas); color: var(--aobp-ink); font-weight: 600; font-size: .93rem; line-height: 1.35; text-decoration: none; }
.aobp .aobp-linklist a:hover { background: var(--aobp-g-50); color: var(--aobp-g-700); }
.aobp-linklist a > span { flex: 1; min-width: 0; }
.aobp-linklist .aobp-icon { color: var(--aobp-g-600); }
.aobp-panel__lead { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--aobp-g-900); margin-bottom: 14px; }
.aobp-panel__lead .aobp-icon { color: var(--aobp-ok); }

/* 6 Home & feature heroes --------------------------------------------------------------- */
.aobp-hero { position: relative; overflow: hidden; color: #fff; background:
	radial-gradient(900px 420px at 92% -10%, rgba(213,166,95,.26), transparent 62%),
	radial-gradient(800px 520px at -8% 115%, rgba(22,122,105,.6), transparent 62%),
	linear-gradient(160deg, var(--aobp-g-800) 0%, var(--aobp-g-950) 100%); }
.aobp-hero::after { content: ""; position: absolute; inset: 0; opacity: .07; pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M28 4l6 10-6 10-6-10zM28 32l6 10-6 10-6-10zM4 28l10-6 10 6-10 6zM32 28l10-6 10 6-10 6z'/%3E%3C/g%3E%3C/svg%3E"); }
.aobp-hero__inner { position: relative; z-index: 1; padding-block: 64px 64px; }
.aobp-hero--compact .aobp-hero__inner { padding-block: 22px 52px; }
.aobp-hero--compact .aobp-crumbs { margin-bottom: 28px; }
.aobp-hero .aobp-crumbs ol { color: rgba(255,255,255,.62); }
.aobp-hero .aobp-crumbs a { color: rgba(255,255,255,.82); }
.aobp-hero .aobp-crumbs [aria-current] { color: #fff; }
.aobp-hero .aobp-eyebrow { color: var(--aobp-gold); }
.aobp .aobp-hero__title { color: #fff !important; max-width: 760px; font-size: clamp(2.05rem, 1.35rem + 2.7vw, 3.4rem); line-height: 1.08; letter-spacing: -.03em; }
.aobp[lang="bn"] .aobp-hero__title { line-height: 1.3; letter-spacing: 0; }
.aobp .aobp-hero__lead { max-width: 620px; margin-top: 16px; font-size: 1.14rem; color: rgba(255,255,255,.9) !important; }
.aobp-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: center; }
.aobp-hero__main { min-width: 0; }
.aobp .aobp-hero__panel { position: relative; padding: 26px 26px 22px; border-radius: var(--aobp-r-xl); background: linear-gradient(160deg, #103f37, #06231e) !important; border: 1px solid rgba(255,255,255,.2) !important; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.12); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff !important; }
.aobp-hero__panel::before { content: ""; position: absolute; top: -1px; left: 26px; right: 26px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, #006A4E 0 60%, #F42A41 60% 100%); }
.aobp .aobp-hero__panel-label { display: flex; align-items: center; gap: 10px; font-weight: 700 !important; color: #ffffff !important; }
.aobp .aobp-hero__time { margin-top: 10px; line-height: 1; }
.aobp .aobp-hero__time strong { font-size: 3.6rem !important; font-weight: 800 !important; letter-spacing: -.03em; color: var(--aobp-gold) !important; font-variant-numeric: tabular-nums; }
.aobp .aobp-hero__date { margin-top: 8px; color: rgba(255,255,255,.9) !important; font-size: 14px !important; }
.aobp-hero__next { display: flex; flex-direction: column; gap: 2px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); }
.aobp .aobp-hero__next-label { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.72) !important; }
.aobp .aobp-hero__next > strong { font-size: 1.12rem; color: #fff !important; }
.aobp .aobp-hero__next-count { color: rgba(255,255,255,.85) !important; }
.aobp .aobp-hero__next-count strong { color: #fff !important; font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.aobp .aobp-hero__love { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--aobp-gold) !important; font-weight: 700; }

/* Home hero on the community photo. The white wash is in the image file (tools/build-hero.php): it stays small, and text stays readable whatever loads. */
.aobp-hero--photo { color: var(--aobp-ink); background: var(--aobp-g-50) url("../img/hero-community.webp") center 30% / cover no-repeat; }
.aobp-hero--photo::after { content: none; }
.aobp .aobp-hero--photo .aobp-eyebrow { color: var(--aobp-g-800) !important; }
.aobp .aobp-hero--photo .aobp-hero__title { color: var(--aobp-g-950) !important; }
.aobp .aobp-hero--photo .aobp-hero__lead { color: var(--aobp-ink) !important; font-weight: 500; }
.aobp-hero--photo .aobp-pride-pill { background: #fff; border-color: var(--aobp-gold); color: var(--aobp-ink); }
.aobp-hero--photo .aobp-search { box-shadow: 0 18px 40px -20px rgba(6,35,30,.4), 0 0 0 1px var(--aobp-g-200); }
.aobp .aobp-hero--photo .aobp-quick a { background: rgba(255,255,255,.92) !important; border-color: var(--aobp-g-200) !important; color: var(--aobp-g-800) !important; font-weight: 600 !important; }
.aobp .aobp-hero--photo .aobp-quick a:hover { background: #fff !important; border-color: var(--aobp-g-600) !important; color: var(--aobp-g-800) !important; }
.aobp-hero--photo .aobp-quick .aobp-icon { color: var(--aobp-g-600); }
.aobp .aobp-hero--photo .aobp-hero__panel { color: #fff !important; background: linear-gradient(160deg, var(--aobp-g-800), var(--aobp-g-950)) !important; border-color: transparent !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
@media (forced-colors: active) { .aobp-hero--photo { background-image: none; } }

.aobp-search { display: flex; align-items: stretch; gap: 8px; margin-top: 30px; background: #fff; padding: 8px; border-radius: 18px; box-shadow: 0 24px 50px -18px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08); max-width: 820px; }
.aobp-search--inline { box-shadow: var(--aobp-sh-2); border: 1px solid var(--aobp-line); }
.aobp-search__field { flex: 1; display: flex; align-items: center; gap: 10px; padding-inline: 14px; color: var(--aobp-ink-3); min-width: 0; }
.aobp .aobp-search__field input { flex: 1; min-width: 0; height: auto; padding: 12px 0; border: 0 !important; outline: none; background: transparent; box-shadow: none !important; font: inherit; font-size: 1.03rem; color: var(--aobp-ink); }
.aobp .aobp-search__field input::placeholder { color: var(--aobp-ink-3); opacity: 1; }
.aobp .aobp-search__country { height: auto; max-width: 210px; padding: 0 14px; border: 0; border-left: 1px solid var(--aobp-line); border-radius: 0; background: transparent; font: inherit; color: var(--aobp-ink); cursor: pointer; }
.aobp .aobp-search .aobp-btn { min-width: 120px; border-radius: 12px; }

.aobp-quick { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.aobp .aobp-quick a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; font-weight: 500; font-size: .94rem; white-space: nowrap; text-decoration: none; transition: background-color .15s, border-color .15s; }
.aobp .aobp-quick a:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.32); color: #fff; }
.aobp-quick .aobp-icon { color: var(--aobp-gold); }

/* 7 Buttons ----------------------------------------------------------------------------- */
.aobp .aobp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 20px; border-radius: var(--aobp-r); border: 1px solid transparent; font: inherit; font-weight: 600; font-size: .98rem; line-height: 1.2; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .06s; }
.aobp .aobp-btn:hover { text-decoration: none; }
.aobp .aobp-btn:active { transform: translateY(1px); }
.aobp .aobp-btn:disabled { opacity: .55; cursor: not-allowed; }
.aobp .aobp-btn--primary { background: var(--aobp-g-600); color: #fff; box-shadow: inset 0 -2px 0 rgba(0,0,0,.14), var(--aobp-sh-1); }
.aobp .aobp-btn--primary:hover { background: var(--aobp-g-700); color: #fff; }
.aobp .aobp-btn--gold { background: var(--aobp-gold); color: var(--aobp-g-900); box-shadow: inset 0 -2px 0 rgba(0,0,0,.12); }
.aobp .aobp-btn--gold:hover { background: #e2b874; color: var(--aobp-g-900); }
.aobp .aobp-btn--light { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.32); }
.aobp .aobp-btn--light:hover { background: rgba(255,255,255,.18); color: #fff; }
.aobp .aobp-btn--ghost { background: #fff; color: var(--aobp-g-800); border-color: var(--aobp-line-2); box-shadow: var(--aobp-sh-1); }
.aobp .aobp-btn--ghost:hover { border-color: var(--aobp-g-600); color: var(--aobp-g-600); }
.aobp .aobp-btn--lg { min-height: 54px; padding-inline: 28px; font-size: 1.05rem; }
.aobp .aobp-btn--block { width: 100%; }
.aobp .aobp-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; white-space: nowrap; }
.aobp .aobp-more .aobp-icon { transition: transform .15s; }
.aobp .aobp-more:hover .aobp-icon { transform: translateX(3px); }
.aobp-link { font-weight: 600; }

/* 8 Cards, tags, tiles ------------------------------------------------------------------ */
/* Colour tones for covers and avatars (Directory::tone): bottle green, river blue, kantha gold, flag maroon */
.aobp-tone-0 { --aobp-cover: linear-gradient(135deg, #12765f 0%, #0b3b33 100%); --aobp-avatar-bg: #e2f3ed; --aobp-avatar-ink: #0e5c4f; --aobp-sun: rgba(244,42,65,.55); }
.aobp-tone-1 { --aobp-cover: linear-gradient(135deg, #1d6886 0%, #0d2f40 100%); --aobp-avatar-bg: #e3eff5; --aobp-avatar-ink: #164c63; --aobp-sun: rgba(255,214,150,.5); }
.aobp-tone-2 { --aobp-cover: linear-gradient(135deg, #b0813a 0%, #5c3d12 100%); --aobp-avatar-bg: #f7eddb; --aobp-avatar-ink: #6f4a14; --aobp-sun: rgba(255,240,205,.45); }
.aobp-tone-3 { --aobp-cover: linear-gradient(135deg, #8a2a3a 0%, #3b0f18 100%); --aobp-avatar-bg: #f8e6e9; --aobp-avatar-ink: #842536; --aobp-sun: rgba(255,214,150,.45); }
.aobp-card__cover::before, .aobp-profile__cover::before { content: ""; position: absolute; inset: 0; opacity: .16; pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M18 4l6 14-6 14-6-14z' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E"); }
.aobp-card__cover::after, .aobp-profile__cover::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; opacity: .55; background: radial-gradient(circle, var(--aobp-sun) 0, transparent 68%); }

/* Directory card */
.aobp-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--aobp-surface); border: 1px solid var(--aobp-line); border-radius: 18px; box-shadow: var(--aobp-sh-1); transition: box-shadow .2s, transform .2s, border-color .2s; }
.aobp-card:hover { box-shadow: var(--aobp-sh-2); border-color: var(--aobp-g-200); transform: translateY(-3px); }
.aobp-card:focus-within { border-color: var(--aobp-g-600); box-shadow: 0 0 0 3px rgba(22,122,105,.18), var(--aobp-sh-2); }
.aobp-card__cover { position: relative; flex: none; height: 78px; background: var(--aobp-cover, var(--aobp-g-800)); overflow: hidden; }
.aobp-card__cover::after { width: 220px; height: 220px; right: -40px; top: -120px; }
.aobp-card__flags { position: absolute; top: 12px; right: 12px; z-index: 1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.aobp-card__flags .aobp-badge { box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.aobp-card__flags .aobp-badge--verified { background: #fff; }
.aobp-card__head { position: relative; z-index: 1; display: flex; padding: 0 20px; margin-top: -34px; }
.aobp-card__logo { flex: none; width: 64px; height: 64px; border-radius: 16px; object-fit: cover; background: var(--aobp-avatar-bg, var(--aobp-g-50)); border: 3px solid #fff; box-shadow: 0 8px 18px -8px rgba(11,46,40,.45); }
.aobp-card__logo--initials { display: grid; place-items: center; color: var(--aobp-avatar-ink, var(--aobp-teal-ink)); font-weight: 700; font-size: 1.2rem; letter-spacing: .02em; }
.aobp-card__date { flex: none; width: 64px; border-radius: 16px; overflow: hidden; text-align: center; background: #fff; border: 3px solid #fff; align-self: flex-start; box-shadow: 0 8px 18px -8px rgba(11,46,40,.45); }
.aobp-card__date span { display: block; background: var(--aobp-g-800); color: var(--aobp-gold); font-size: .7rem; font-weight: 700; text-transform: uppercase; padding: 4px 0; letter-spacing: .08em; border-radius: 12px 12px 0 0; }
.aobp-card__date strong { display: block; font-size: 1.55rem; font-weight: 700; color: var(--aobp-g-900); padding: 3px 0 5px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.aobp-card__body { min-width: 0; flex: 1; display: flex; flex-direction: column; padding: 12px 20px 0; }
.aobp-card__kicker { margin-bottom: 4px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--aobp-avatar-ink, var(--aobp-teal-ink)); }
.aobp[lang="bn"] .aobp-card__kicker { letter-spacing: 0; font-size: .82rem; }
/* Bangla's marks sit above and below the line, where a two-line clamp would cut them off. */
.aobp[lang="bn"] .aobp-card__title { line-height: 1.55; padding-bottom: .12em; }
.aobp[lang="bn"] .aobp-card__summary { line-height: 1.75; padding-bottom: .12em; }
.aobp-card__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.aobp .aobp-card__title { font-size: 1.1rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.aobp .aobp-card__title a { color: var(--aobp-g-900); text-decoration: none; }
.aobp-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.aobp-card__title a:focus-visible { box-shadow: none; }
.aobp-card__line { display: flex; gap: 8px; align-items: flex-start; color: var(--aobp-ink-2); font-size: .92rem; line-height: 1.45; margin-top: 8px; }
.aobp-card__line .aobp-icon { margin-top: 2px; color: var(--aobp-g-600); }
.aobp-card__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.aobp-card__chips li { padding: 3px 10px; border-radius: 999px; background: var(--aobp-canvas); border: 1px solid var(--aobp-line); color: var(--aobp-ink-2); font-size: .76rem; font-weight: 600; }
.aobp-card__summary { color: var(--aobp-ink-2); font-size: .93rem; line-height: 1.55; margin-top: 10px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.aobp-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding: 12px 20px; border-top: 1px solid var(--aobp-line); background: #fafcfb; font-size: .86rem; }
.aobp-card__place { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--aobp-ink-2); }
.aobp-card__place .aobp-icon { color: var(--aobp-g-600); }
.aobp-card__place > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aobp-card__cta { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; font-weight: 700; color: var(--aobp-g-600); white-space: nowrap; }
.aobp-card__cta .aobp-icon { transition: transform .15s; }
.aobp-card:hover .aobp-card__cta { color: var(--aobp-g-700); }
.aobp-card:hover .aobp-card__cta .aobp-icon { transform: translateX(3px); }

.aobp-tag { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-teal-ink); font-size: .75rem; font-weight: 600; line-height: 1.4; }
.aobp-tag--light { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.2); color: #fff; }
.aobp-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; background: #eef1f0; color: var(--aobp-ink-2); font-size: .75rem; font-weight: 700; line-height: 1.4; }
.aobp-badge--verified { background: var(--aobp-ok-bg); color: var(--aobp-ok); }
.aobp-badge--warn { background: var(--aobp-warn-bg); color: var(--aobp-warn); }
.aobp-badge--sponsored { background: var(--aobp-gold-100); color: #6e4c17; }

/* Countries, chips, city list */
.aobp-countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.aobp .aobp-countries a { display: flex; align-items: center; gap: 12px; height: 100%; padding: 12px 14px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); box-shadow: var(--aobp-sh-1); color: var(--aobp-ink); font-weight: 600; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.aobp .aobp-countries a:hover { border-color: var(--aobp-g-200); box-shadow: var(--aobp-sh-2); transform: translateY(-1px); color: var(--aobp-g-900); }
.aobp-iso { display: grid; place-items: center; flex: none; width: 36px; height: 26px; border-radius: 7px; background: var(--aobp-g-800); color: var(--aobp-gold); font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.aobp-countries__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aobp-countries__n, .aobp-chips__n { flex: none; min-width: 24px; padding: 1px 8px; border-radius: 999px; background: var(--aobp-g-50); color: var(--aobp-teal-ink); font-size: .76rem; font-weight: 700; text-align: center; }
.aobp [hidden] { display: none !important; }

/* Country flags (bundled flag-icons 4:3) */
.aobp-cflag { flex: none; display: inline-block; width: 28px; height: 21px; border-radius: 4px; object-fit: cover; background: #fff; box-shadow: 0 0 0 1px rgba(19,34,31,.16), 0 1px 2px rgba(0,0,0,.08); vertical-align: middle; }
.aobp-cflag-frame { display: inline-flex; flex: none; }
.aobp-cflag-frame--lg .aobp-cflag { width: 52px; height: 39px; border-radius: 7px; box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 6px 14px -4px rgba(0,0,0,.45); }
.aobp-countries .aobp-cflag { width: 34px; height: 25.5px; }
.aobp-countries--index .aobp-cflag { width: 36px; height: 27px; }
.aobp-page-head__icon--flag { width: auto; height: auto; padding: 0; background: none; box-shadow: none; }
.aobp-page-head__icon--flag .aobp-cflag { display: block; width: 76px; height: 57px; border-radius: 12px; box-shadow: 0 0 0 1px rgba(19,34,31,.12), var(--aobp-sh-2); }
.aobp-card__place .aobp-cflag { width: 20px; height: 15px; border-radius: 3px; }
.aobp-profile__facts .aobp-cflag { width: 22px; height: 16.5px; margin-top: 4px; border-radius: 3px; }
.aobp-region-block h2 { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }

/* Countries index */
.aobp-finder { margin-top: 24px; max-width: 840px; }
.aobp-finder__search { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 18px; background: #fff; border: 1px solid var(--aobp-line-2); border-radius: 16px; box-shadow: var(--aobp-sh-2); color: var(--aobp-ink-3); transition: border-color .15s, box-shadow .15s; }
.aobp-finder__search:focus-within { border-color: var(--aobp-g-600); box-shadow: 0 0 0 4px rgba(22,122,105,.16), var(--aobp-sh-2); }
.aobp .aobp-finder__search input { flex: 1; min-width: 0; height: auto; padding: 13px 0; border: 0; outline: none; background: transparent; box-shadow: none; font: inherit; font-size: 1.05rem; color: var(--aobp-ink); }
.aobp .aobp-finder__search input:focus { box-shadow: none; }
.aobp-finder__total { flex: none; padding: 6px 12px; border-radius: 999px; background: var(--aobp-g-50); color: var(--aobp-teal-ink); font-weight: 700; font-size: .85rem; }
.aobp-finder__regions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.aobp .aobp-finder__regions a { padding: 7px 15px; border-radius: 999px; background: #fff; border: 1px solid var(--aobp-line); color: var(--aobp-ink-2); font-weight: 600; font-size: .9rem; text-decoration: none; transition: border-color .15s, color .15s; }
.aobp .aobp-finder__regions a:hover { border-color: var(--aobp-g-600); color: var(--aobp-g-700); }
.aobp-active-countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.aobp .aobp-active-countries a { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; height: 100%; padding: 18px; border-radius: 16px; background: radial-gradient(260px 120px at 100% 0%, rgba(213,166,95,.28), transparent 70%), linear-gradient(135deg, var(--aobp-g-700), var(--aobp-g-950)); color: #fff; box-shadow: var(--aobp-sh-2); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.aobp .aobp-active-countries a:hover { transform: translateY(-2px); box-shadow: var(--aobp-sh-3); color: #fff; }
.aobp-iso--lg { width: 48px; height: 36px; border-radius: 9px; background: var(--aobp-gold); color: var(--aobp-g-900); font-size: .82rem; }
.aobp-active-countries__text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.aobp-active-countries__text strong { font-size: 1.08rem; }
.aobp-active-countries__text span { margin-top: 2px; color: rgba(255,255,255,.75); font-size: .86rem; }
.aobp-active-countries a > .aobp-icon:last-child { color: var(--aobp-gold); transition: transform .15s; }
.aobp-active-countries a:hover > .aobp-icon:last-child { transform: translateX(3px); }
.aobp-region-block { padding: 24px; background: #fff; border: 1px solid var(--aobp-line); border-radius: 18px; box-shadow: var(--aobp-sh-1); scroll-margin-top: calc(var(--aobp-top) + 96px); }
.aobp-section.aobp-region-block + .aobp-region-block { margin-top: 20px; }
.aobp-countries--index { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.aobp .aobp-countries--index a { padding: 12px 14px; background: var(--aobp-canvas); border-color: transparent; box-shadow: none; }
.aobp .aobp-countries--index a:hover { background: #fff; border-color: var(--aobp-g-200); box-shadow: var(--aobp-sh-2); }
.aobp-countries__text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.aobp-countries--index .aobp-countries__name { white-space: normal; overflow: visible; }
.aobp-countries__meta { margin-top: 2px; font-size: .78rem; font-weight: 500; color: var(--aobp-ink-3); }
.aobp-countries__meta.is-active { color: var(--aobp-g-600); font-weight: 700; }
.aobp-countries--index a > .aobp-icon:last-child { flex: none; color: #b8c6c1; transition: transform .15s, color .15s; }
.aobp-countries--index a:hover > .aobp-icon:last-child { color: var(--aobp-g-600); transform: translateX(3px); }
.aobp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.aobp .aobp-chips a, .aobp-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--aobp-line); color: var(--aobp-ink); font-weight: 500; text-decoration: none; }
.aobp .aobp-chips a:hover { border-color: var(--aobp-g-600); color: var(--aobp-g-600); }
.aobp-chips--static span { background: var(--aobp-g-50); border-color: var(--aobp-g-100); color: var(--aobp-teal-ink); }
.aobp-citylist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.aobp .aobp-citylist a { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 10px; border-radius: var(--aobp-r-sm); background: var(--aobp-canvas); color: var(--aobp-ink); font-weight: 600; font-size: .92rem; text-decoration: none; }
.aobp .aobp-citylist a:hover { background: var(--aobp-g-50); color: var(--aobp-g-700); }
.aobp-citylist a > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aobp .aobp-region { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--aobp-ink-3); margin: 14px 0 6px; }
.aobp .aobp-panel .aobp-region:first-of-type { margin-top: 0; }

.aobp .aobp-tile { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 22px; border-radius: var(--aobp-r-lg); background: #fff; border: 1px solid var(--aobp-line); box-shadow: var(--aobp-sh-1); color: var(--aobp-ink); text-decoration: none; transition: box-shadow .2s, border-color .2s, transform .2s; }
.aobp .aobp-tile:hover { box-shadow: var(--aobp-sh-2); border-color: var(--aobp-g-200); transform: translateY(-2px); color: var(--aobp-ink); }
.aobp-tile > .aobp-icon:first-child { box-sizing: content-box; padding: 10px; margin-bottom: 4px; border-radius: 12px; background: var(--aobp-g-50); color: var(--aobp-g-600); }
.aobp-tile strong { color: var(--aobp-g-900); font-size: 1.06rem; }
.aobp-tile span { color: var(--aobp-ink-2); font-size: .93rem; }
.aobp-tile--large { padding: 26px; }
.aobp .aobp-tile .aobp-more { margin-top: auto; padding-top: 6px; color: var(--aobp-g-600); }

/* 9 Bands ------------------------------------------------------------------------------- */
.aobp-help-band { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 36px; align-items: center; padding: 32px 36px; border-radius: var(--aobp-r-xl); background: radial-gradient(600px 240px at 100% 0%, rgba(213,166,95,.22), transparent 70%), linear-gradient(120deg, var(--aobp-g-600) 0%, var(--aobp-g-800) 100%); color: #fff; box-shadow: var(--aobp-sh-3); }
.aobp .aobp-help-band h2 { color: #fff; }
.aobp-help-band p { color: rgba(255,255,255,.88); margin-top: 8px; max-width: 640px; }
.aobp-help-band__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.aobp-help-band__urgent { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); font-size: .92rem; }
.aobp-help-band__urgent .aobp-icon { color: var(--aobp-gold); }
.aobp-home-band { padding: 8px 0 56px; background: linear-gradient(180deg, var(--aobp-canvas), #eaf2ee 40%, var(--aobp-canvas)); }
.aobp-home-band .aobp-section__head { padding-top: 48px; }
.aobp-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 36px; border-radius: var(--aobp-r-xl); background: #fff; border: 1px solid var(--aobp-line); box-shadow: var(--aobp-sh-2); flex-wrap: wrap; position: relative; overflow: hidden; }
.aobp-cta::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--aobp-g-600), var(--aobp-gold)); }
.aobp-cta p { color: var(--aobp-ink-2); margin-top: 6px; max-width: 640px; }

/* 10 Filters & forms -------------------------------------------------------------------- */
.aobp-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; margin-top: 32px; align-items: start; }
.aobp-filters { position: sticky; top: calc(var(--aobp-top) + 88px); display: flex; flex-direction: column; gap: 16px; padding: 20px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); box-shadow: var(--aobp-sh-1); }
.aobp-filters__actions { display: flex; align-items: center; gap: 14px; padding-top: 4px; }
.aobp-filters { max-height: calc(100vh - var(--aobp-top) - 104px); overflow-y: auto; overscroll-behavior: contain; }
.aobp-filters__body { display: flex; flex-direction: column; gap: 16px; }
.aobp-filters__toggle { display: none; }
.aobp-filters__group { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; border: 0; min-width: 0; }
.aobp-filters__group legend { margin-bottom: 8px; padding: 0; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--aobp-ink-3); }
.aobp-filters__count { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--aobp-g-600); color: #fff; font-size: .76rem; font-weight: 700; text-align: center; }
.aobp-results { min-width: 0; }
.aobp-count { color: var(--aobp-ink-2); font-weight: 600; margin-bottom: 14px; }
.aobp-resbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.aobp-resbar .aobp-count { margin: 0; }
.aobp-sort { display: flex; align-items: center; gap: 8px; }
.aobp-sort label { color: var(--aobp-ink-2); font-size: .9rem; font-weight: 600; white-space: nowrap; }
.aobp .aobp-sort select { min-height: 40px; padding: 6px 34px 6px 12px; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); background-color: #fff; color: var(--aobp-ink); font: inherit; font-size: .92rem; }
.aobp .aobp-sort select:focus { border-color: var(--aobp-g-600); box-shadow: 0 0 0 4px rgba(22,122,105,.16); outline: none; }
.aobp-activef { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.aobp .aobp-activef__chip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 5px 10px 5px 14px; border-radius: 999px; background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-teal-ink); font-size: .88rem; font-weight: 600; text-decoration: none; }
.aobp .aobp-activef__chip:hover, .aobp .aobp-activef__chip:focus-visible { background: #fff; border-color: var(--aobp-g-600); color: var(--aobp-g-900); }
.aobp-activef__chip .aobp-icon { opacity: .75; }
.aobp-activef__clear { font-size: .88rem; font-weight: 600; margin-left: 4px; }
.aobp-resbar__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-left: auto; }

/* Grid / list switch (segmented control) */
.aobp-layoutsw { display: inline-flex; gap: 2px; padding: 3px; background: #fff; border: 1px solid var(--aobp-line); border-radius: 12px; box-shadow: var(--aobp-sh-1); }
.aobp-layoutsw[hidden] { display: none; }
.aobp .aobp-layoutsw__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 5px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--aobp-ink-2); font: inherit; font-size: .88rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.aobp .aobp-layoutsw__btn:hover { color: var(--aobp-g-900); background: var(--aobp-g-50); }
.aobp .aobp-layoutsw__btn[aria-pressed="true"], .aobp .aobp-layoutsw__btn[aria-current="page"] { background: var(--aobp-g-800); color: #fff; }

/* List layout: one card per row, tinted thumbnail on the left with the logo or date centred on it. */
html[data-aobp-layout="list"] .aobp-results__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card { display: grid; grid-template-columns: 188px minmax(0, 1fr); grid-template-rows: 1fr auto; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card:hover { transform: translateY(-1px); }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__cover { grid-column: 1; grid-row: 1 / -1; height: auto; min-height: 148px; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__head { grid-column: 1; grid-row: 1 / -1; align-self: center; justify-self: center; margin: 0; padding: 0; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card--photo .aobp-card__head { align-self: end; justify-self: start; margin: 0 0 12px 12px; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__flags { top: auto; bottom: 8px; left: 8px; right: 8px; justify-content: flex-start; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card--photo .aobp-card__flags { top: 8px; bottom: auto; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__flags .aobp-badge { font-size: .7rem; padding: 2px 7px; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__body { grid-column: 2; padding: 16px 20px 0; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__summary { -webkit-line-clamp: 2; }
html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__foot { grid-column: 2; margin-top: 12px; padding: 10px 20px; }

/* Search: type tabs and grouped previews */
.aobp-tabs { display: flex; gap: 4px; margin-top: 28px; border-bottom: 1px solid var(--aobp-line); overflow-x: auto; scrollbar-width: none; }
.aobp-tabs::-webkit-scrollbar { display: none; }
.aobp .aobp-tabs a { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: -1px; border-bottom: 3px solid transparent; color: var(--aobp-ink-2); font-weight: 600; text-decoration: none; white-space: nowrap; }
.aobp .aobp-tabs a:hover { color: var(--aobp-g-900); }
.aobp .aobp-tabs a[aria-current="page"] { border-bottom-color: var(--aobp-g-600); color: var(--aobp-g-900); }
.aobp .aobp-tabs a.is-empty { color: var(--aobp-ink-3); }
.aobp-tabs__n { min-width: 24px; padding: 1px 8px; border-radius: 999px; background: var(--aobp-g-50); color: var(--aobp-teal-ink); font-size: .76rem; font-weight: 700; text-align: center; }
.aobp-tabs a[aria-current="page"] .aobp-tabs__n { background: var(--aobp-g-600); color: #fff; }
.aobp-layout--search { margin-top: 24px; }
.aobp-search__group + .aobp-search__group, .aobp-activef + .aobp-search__group { margin-top: 28px; }
.aobp-search__group > h3, .aobp-search__group .aobp-section__head h3 { font-size: 1.15rem; }
.aobp-search__group .aobp-section__head { margin-bottom: 14px; align-items: center; }
.aobp-search__browse { justify-content: center; margin-top: 18px; }
.aobp-biz-cta { margin-top: 32px; padding: 24px 28px; }

/* CommunityOS panel (managers only) */
.aobp-cos { border: 1px solid var(--aobp-g-100); background: linear-gradient(180deg, var(--aobp-g-50), #fff 120px); }
.aobp-cos.is-linked { border-color: var(--aobp-g-200); }
.aobp-cos__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.aobp .aobp-cos__head .aobp-block__title { margin: 0; }
.aobp-cos .aobp-manage__note { margin: 14px 0 12px; }
.aobp-cos__mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--aobp-g-800); color: var(--aobp-gold); flex: none; }
.aobp-cos__sub { margin: 2px 0 0; color: var(--aobp-ink-3); font-size: .9rem; }
.aobp-cos__state { margin-left: auto; }
.aobp-cos__facts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 14px 0; }
.aobp-cos__facts dt { font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--aobp-ink-3); }
.aobp-cos__facts dd { margin: 2px 0 0; font-weight: 600; }
.aobp-cos__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 10px; }
.aobp-cos__benefits { margin: 14px 0 18px; }
.aobp-cos__connect .aobp-check { font-size: .92rem; color: var(--aobp-ink-2); }
.aobp-cos__connect .aobp-btn { align-self: flex-start; }
.aobp .aobp-biz-cta h3 { font-size: 1.12rem; }

/* Pagination: previous / numbered pages / next */
.aobp-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin-top: 32px; }
.aobp-pager__list { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aobp .aobp-pager__num { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--aobp-line); background: #fff; color: var(--aobp-ink); font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; }
.aobp .aobp-pager__num:hover { border-color: var(--aobp-g-600); color: var(--aobp-g-700); }
.aobp .aobp-pager__num[aria-current="page"] { background: var(--aobp-g-800); border-color: var(--aobp-g-800); color: #fff; }
.aobp-pager__gap { min-width: 24px; text-align: center; color: var(--aobp-ink-3); }
.aobp-pager .aobp-btn { min-height: 42px; }
.aobp-pager__info { width: 100%; margin-top: 4px; text-align: center; color: var(--aobp-ink-3); font-size: .86rem; }

.aobp-form { display: flex; flex-direction: column; gap: 16px; }
.aobp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aobp-field label, .aobp-step legend { font-weight: 600; color: var(--aobp-ink); font-size: .94rem; }
fieldset.aobp-field { padding: 0; border: 0; }
fieldset.aobp-field > legend { margin-bottom: 6px; padding: 0; font-weight: 600; font-size: .94rem; color: var(--aobp-ink); }
.aobp-field--inline { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
.aobp-field--inline input { max-width: 96px; }
.aobp :where(.aobp-field, .aobp-filters, .aobp-wizard) :where(input:not([type=checkbox]):not([type=radio]), select, textarea) {
	width: 100%; min-height: 46px; margin: 0; padding: 10px 13px; font: inherit; font-size: 1rem; line-height: 1.4; color: var(--aobp-ink); background: #fff; border: 1px solid var(--aobp-line-2); border-radius: 10px; box-shadow: inset 0 1px 1px rgba(11,46,40,.04); transition: border-color .15s, box-shadow .15s; }
.aobp :where(.aobp-field, .aobp-filters, .aobp-wizard) :where(input, select, textarea):hover { border-color: #b6c4bf; }
.aobp :where(.aobp-field) textarea { min-height: 110px; resize: vertical; line-height: 1.6; }
.aobp :where(.aobp-field, .aobp-filters, .aobp-wizard) :where(input, select, textarea):focus { border-color: var(--aobp-g-600); box-shadow: 0 0 0 4px rgba(22,122,105,.16); outline: none; }
.aobp :where(.aobp-field) :where(input, select, textarea):disabled { background: #f1f4f3; color: #7d8a86; }
.aobp :where(input, textarea)::placeholder { color: #7d8a86; opacity: 1; }
.aobp-hint { color: var(--aobp-ink-3); font-size: .86rem; line-height: 1.5; }
.aobp-check { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; line-height: 1.45; cursor: pointer; }
.aobp-check input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--aobp-g-600); }
.aobp-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.aobp-status { min-height: 1.4em; font-size: .92rem; color: var(--aobp-ink-2); }
.aobp-status.is-error { color: var(--aobp-danger); }
.aobp-profile__unofficial { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 0; color: var(--aobp-ink-2, var(--aobp-ink)); font-size: .92rem; line-height: 1.45; }
.aobp-profile__unofficial .aobp-icon { flex: none; margin-top: 2px; color: var(--aobp-g-600); }
.aobp-profile__host { display: block; margin-top: 2px; color: var(--aobp-ink-3); }
.aobp-paid-fields { display: flex; flex-direction: column; gap: 14px; }
.aobp-paid-fields[hidden] { display: none; }
.aobp-field__error { margin: 4px 0 0; color: var(--aobp-danger); font-size: .86rem; font-weight: 600; line-height: 1.45; }
.aobp-field__error:empty { display: none; }
.aobp-form [aria-invalid="true"]:not([type="radio"]) { border-color: var(--aobp-danger); }
.aobp-pending ul { margin: 8px 0; padding-left: 20px; overflow-wrap: anywhere; }
.aobp-pending p { margin: 0; }
.aobp-prose__other { margin-top: 14px; }
.aobp-prose__other > summary { cursor: pointer; font-weight: 700; color: var(--aobp-g-900); }
.aobp-status.is-ok { color: var(--aobp-ok); }
.aobp-segment { display: inline-flex; flex-wrap: wrap; gap: 6px; border: 0; padding: 0; margin: 0; }
.aobp-segment label, .aobp-choice { position: relative; cursor: pointer; }
.aobp-segment input, .aobp-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.aobp-segment span { display: inline-block; padding: 9px 16px; border-radius: 10px; border: 1px solid var(--aobp-line-2); background: #fff; font-weight: 600; transition: border-color .15s, background-color .15s; }
.aobp-segment label:hover span { border-color: var(--aobp-g-600); }
.aobp-segment input:checked + span, .aobp-choice input:checked + span { border-color: var(--aobp-g-600); background: var(--aobp-g-50); color: var(--aobp-g-900); box-shadow: inset 0 0 0 1px var(--aobp-g-600); }
.aobp-segment input:focus-visible + span, .aobp-choice input:focus-visible + span { box-shadow: var(--aobp-focus); }
.aobp-segment input:disabled + span { opacity: .5; cursor: not-allowed; }
.aobp-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.aobp-choices--stack { grid-template-columns: 1fr; }
.aobp-choice > span { display: flex; flex-direction: column; justify-content: center; gap: 2px; height: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--aobp-line-2); border-radius: var(--aobp-r); background: #fff; font-weight: 600; line-height: 1.35; transition: border-color .15s, background-color .15s; }
.aobp-choice:hover > span { border-color: var(--aobp-g-600); }
.aobp-choice--recipient span span { font-weight: 400; color: var(--aobp-ink-2); overflow-wrap: anywhere; }
.aobp-choice--recipient small { color: var(--aobp-ink-2); font-weight: 400; }

/* 11 Notices ---------------------------------------------------------------------------- */
.aobp-notice { padding: 14px 16px; border-radius: var(--aobp-r); background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-g-900); margin-bottom: 16px; }
.aobp-notice p { margin-top: 4px; }
.aobp-notice--warn { background: var(--aobp-warn-bg); border-color: #f3dcae; color: var(--aobp-warn); }
.aobp-urgent { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: var(--aobp-r-lg); background: var(--aobp-danger-bg); color: #7a1c15; border: 1px solid #f3c2bd; margin-top: 28px; }
.aobp-urgent > .aobp-icon { color: var(--aobp-danger); margin-top: 2px; }
.aobp-urgent div { display: flex; flex-direction: column; gap: 2px; }
.aobp-urgent b { font-size: 1.15rem; }
.aobp-privacy-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; margin-top: 12px; border-radius: var(--aobp-r-lg); background: #fff; border: 1px solid var(--aobp-line); color: var(--aobp-ink-2); font-size: .93rem; box-shadow: var(--aobp-sh-1); }
.aobp-privacy-note .aobp-icon { color: var(--aobp-g-600); margin-top: 2px; }

/* 12 Wizard ----------------------------------------------------------------------------- */
.aobp-wizard { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; counter-reset: aobp-step; }
.aobp-step { margin: 0; padding: 24px; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); background: #fff; display: flex; flex-direction: column; gap: 16px; min-width: 0; box-shadow: var(--aobp-sh-1); }
.aobp-step legend, .aobp-review h2 { display: flex; align-items: center; gap: 12px; float: left; width: 100%; font-size: 1.12rem; color: var(--aobp-g-900); margin-bottom: 4px; padding: 0; }
.aobp-step legend + * { clear: both; }
.aobp-step__n { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--aobp-g-800); color: var(--aobp-gold); font-size: .85rem; font-weight: 700; flex: none; }
.aobp-step--actions { background: transparent; border: 0; padding: 0; align-items: flex-start; box-shadow: none; }
.aobp-review { border-color: var(--aobp-g-600); box-shadow: 0 0 0 4px rgba(22,122,105,.1), var(--aobp-sh-2); outline: none; }
.aobp-review textarea { font-family: var(--aobp-font); }
.aobp-recipients { display: flex; flex-direction: column; gap: 10px; }
.aobp .aobp-link-btn { padding: 0 2px; border: 0; background: none; color: var(--aobp-teal, #167a69); font: inherit; font-size: .9rem; text-decoration: underline; cursor: pointer; }
.aobp-managers .aobp-requests__actions select { min-height: 40px; padding: 6px 10px; border: 1px solid var(--aobp-line); border-radius: 10px; background: #fff; font: inherit; }
.aobp-recipients__title { margin: 6px 0 0; font-size: 1rem; color: var(--aobp-g-900); }
.aobp-recipients .aobp-hint { margin: 0; }
.aobp-official--help { margin: 0; padding: 14px 16px; list-style: none; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); }
.aobp-official--help a { font-size: 1.05rem; }
.aobp-recipients > .aobp-btn { align-self: flex-start; }
.aobp-urgent a { color: inherit; text-decoration: underline; }
.aobp-urgent__number { display: block; }
.aobp-urgent__number small { display: block; font-size: .8rem; font-weight: 400; }
.aobp-not-service { margin: 12px 0 0; padding: 12px 16px; border-left: 4px solid var(--aobp-g-600); background: #fff; border-radius: var(--aobp-r); color: var(--aobp-ink-2); font-size: .95rem; }
.aobp-help-for { margin-bottom: 14px; }
.aobp-call { margin-top: 14px; }
.aobp-choices__title { margin: 10px 0 8px; color: var(--aobp-g-900); font-size: .93rem; font-weight: 600; }
[data-aobp-call-only] { margin-top: 14px; }
.aobp-guide-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.aobp-guide-tabs a[aria-current] { background: var(--aobp-g-50); border-color: var(--aobp-g-600); }
.aobp-guide-list { display: flex; flex-direction: column; gap: 14px; }
.aobp-guide-list h2 { font-size: 1.15rem; margin-bottom: 6px; }
.aobp-guide-source { margin: 16px 0; color: var(--aobp-ink-2); font-size: .93rem; }
.aobp-section .aobp-prose + p { margin-top: 24px; }
.aobp-facts__number { display: block; }
.aobp-help-band__family { width: 100%; margin: 0; }

/* 13 Detail ----------------------------------------------------------------------------- */
.aobp-detail { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; margin-top: 32px; align-items: start; }
.aobp-detail__main { min-width: 0; }
.aobp-detail__main > .aobp-section:first-child { margin-top: 0; }
.aobp-detail__main .aobp-section { margin-top: 40px; }
.aobp-detail__main .aobp-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.aobp-section > h2 { margin-bottom: 18px; }
.aobp-detail__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: calc(var(--aobp-top) + 88px); }
.aobp-panel { padding: 22px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); box-shadow: var(--aobp-sh-1); }
.aobp-panel--accent { background: linear-gradient(160deg, var(--aobp-g-50), #fff); border-color: var(--aobp-g-100); }
.aobp .aobp-panel__title { font-size: 1.04rem; margin-bottom: 14px; }
.aobp-panel > .aobp-muted + .aobp-btn, .aobp-panel p + .aobp-btn, .aobp-panel p + a.aobp-btn { margin-top: 14px; }
.aobp-contact-list { display: flex; flex-direction: column; gap: 14px; }
.aobp-contact-list li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.45; }
.aobp-contact-list li > span:last-child { display: flex; flex-direction: column; gap: 1px; min-width: 0; overflow-wrap: anywhere; }
.aobp-contact-list small { font-size: .74rem; font-weight: 600; color: var(--aobp-ink-3); }
.aobp-contact-list li > span:last-child > small:first-child { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .7rem; }
.aobp-contact-list a { font-weight: 600; }
.aobp-contact-list__icon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 11px; background: var(--aobp-g-50); color: var(--aobp-g-600); }
.aobp-contact-list > li > .aobp-icon { color: var(--aobp-g-600); margin-top: 3px; }
.aobp-official { display: flex; flex-direction: column; gap: 14px; }
.aobp-official li { display: flex; flex-direction: column; gap: 3px; padding-bottom: 14px; border-bottom: 1px solid var(--aobp-line); }
.aobp-official li:last-child { border-bottom: 0; padding-bottom: 0; }
.aobp-official__role { font-weight: 700; color: var(--aobp-g-900); font-size: .92rem; }
.aobp-official a { display: inline-flex; gap: 6px; align-items: center; word-break: break-all; font-weight: 600; }
.aobp-official__src { font-size: .8rem; color: var(--aobp-ink-3); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.aobp-prose { font-size: 1.04rem; line-height: 1.7; color: var(--aobp-ink); max-width: 72ch; }
.aobp-prose > * + * { margin-top: 1em; }
.aobp-prose :where(ul) { list-style: disc; padding-left: 1.4em; }
.aobp-prose :where(h2, h3) { margin-top: 1.6em; }
.aobp-detail__main > .aobp-prose { padding: 24px 26px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); box-shadow: var(--aobp-sh-1); max-width: none; }
.aobp-detail__main > .aobp-prose:empty { display: none; }
.aobp-deflist { display: grid; gap: 14px; margin: 18px 0; }
.aobp-deflist dt { font-weight: 700; color: var(--aobp-g-900); font-size: .9rem; }
.aobp-deflist dd { color: var(--aobp-ink); }
.aobp-list { display: flex; flex-direction: column; gap: 10px; }
.aobp-list li { padding: 14px 16px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; box-shadow: var(--aobp-sh-1); }
.aobp-disclosure > summary { list-style: none; display: inline-flex; }
.aobp-disclosure > summary::-webkit-details-marker { display: none; }
.aobp-disclosure[open] > summary { margin-bottom: 14px; }
.aobp-report { margin-top: 32px; padding: 14px 18px; border: 1px dashed var(--aobp-line-2); border-radius: var(--aobp-r); background: transparent; }
.aobp-report summary { cursor: pointer; font-weight: 600; font-size: .92rem; color: var(--aobp-ink-2); }
.aobp-report summary:hover { color: var(--aobp-g-700); }
.aobp-report[open] { background: #fff; border-style: solid; }
.aobp-report[open] summary { margin-bottom: 12px; }

/* 14 Calendar --------------------------------------------------------------------------- */
.aobp-viewtoggle { display: inline-flex; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); margin-bottom: 16px; box-shadow: var(--aobp-sh-1); }
.aobp .aobp-viewtoggle a { padding: 7px 18px; border-radius: 9px; font-weight: 600; color: var(--aobp-ink-2); text-decoration: none; }
.aobp .aobp-viewtoggle a[aria-current="page"] { background: var(--aobp-g-800); color: #fff; }
.aobp-cal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.aobp .aobp-cal__title { font-size: 1.3rem; }
.aobp-cal__grid { width: 100%; border-collapse: separate; border-spacing: 6px; table-layout: fixed; margin: 6px -6px 0; }
.aobp-cal__grid th { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--aobp-ink-3); padding: 4px; font-weight: 700; }
.aobp-cal__grid td { vertical-align: top; height: 104px; padding: 8px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); }
.aobp-cal__grid td.is-out { background: transparent; border-color: transparent; color: var(--aobp-ink-3); }
.aobp-cal__grid td.is-today { border-color: var(--aobp-gold); box-shadow: inset 0 0 0 1px var(--aobp-gold); }
.aobp-cal__day { display: block; font-weight: 700; font-size: .85rem; margin-bottom: 4px; }
.aobp .aobp-cal__event { display: block; padding: 3px 7px; margin-top: 3px; border-radius: 6px; background: var(--aobp-g-50); color: var(--aobp-teal-ink); font-size: .78rem; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aobp .aobp-cal__event.is-cancelled { text-decoration: line-through; opacity: .7; }
.aobp .aobp-cal__event.is-postponed { background: var(--aobp-warn-bg); color: var(--aobp-warn); }
.aobp-cal__agenda { display: none; }
.aobp-cal__agenda li { padding: 12px 14px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r); margin-top: 8px; }
.aobp-rating span { font-size: 1.1rem; color: var(--aobp-gold-600); }
.aobp-feedback-list { margin-top: 8px; display: grid; gap: 6px; }

/* 15 Pride & community card ------------------------------------------------------------- */
.aobp-flag { flex: none; border-radius: 3px; box-shadow: 0 0 0 1px rgba(255,255,255,.25); vertical-align: middle; }
.aobp-heart { flex: none; vertical-align: -2px; }
.aobp-pride-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 20px; }
.aobp-pride-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(213,166,95,.5); color: #fff; font-weight: 600; font-size: .94rem; margin: 0 0 16px; }
.aobp-pride-row .aobp-pride-pill { margin: 0; }
.aobp-home-clock strong { font-variant-numeric: tabular-nums; }
.aobp .aobp-section__head h2 .aobp-flag { vertical-align: -3px; }
.aobp-celebrate { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 14px; }
.aobp-celebrate__item { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 22px 20px 18px; background: #fff; border: 1px solid var(--aobp-line); border-radius: var(--aobp-r-lg); overflow: hidden; box-shadow: var(--aobp-sh-1); }
.aobp-celebrate__item::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, #006A4E 0 70%, #F42A41 70% 100%); }
.aobp-celebrate__count { display: flex; align-items: baseline; gap: 6px; color: var(--aobp-ink-2); font-size: .9rem; }
.aobp-celebrate__count strong { font-size: 2.3rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--aobp-g-900); font-variant-numeric: tabular-nums; }
.aobp-celebrate__name { margin-top: 6px; font-weight: 700; color: var(--aobp-g-900); line-height: 1.35; }
.aobp-celebrate__date { color: var(--aobp-ink-3); font-size: .88rem; }
.aobp-celebrate__link { margin-top: auto; padding-top: 10px; font-weight: 600; font-size: .92rem; }

.aobp-pride-band { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 440px); gap: 36px; align-items: center; padding: 40px; border-radius: var(--aobp-r-xl); color: #fff; overflow: hidden;
	background: radial-gradient(520px 280px at 100% 0%, rgba(244,42,65,.2), transparent 70%), linear-gradient(135deg, #0d5a49 0%, var(--aobp-g-800) 60%, var(--aobp-g-950) 100%); box-shadow: var(--aobp-sh-3); }
.aobp .aobp-pride-band h2 { color: #fff; margin: 8px 0 10px; font-size: clamp(1.45rem, 1.2rem + .9vw, 1.9rem); }
.aobp-pride-band p { color: rgba(255,255,255,.88); max-width: 560px; }
.aobp-pride-band__love { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--aobp-gold) !important; font-size: 1.05rem; }

.aobp-ccard { --aobp-rx: 0deg; --aobp-ry: 0deg; --aobp-mx: 30%; position: relative; width: 100%; max-width: 540px; border-radius: 3.5% / 4.9%; overflow: hidden; isolation: isolate;
	box-shadow: 0 2px 4px rgba(5,38,33,.25), 0 24px 48px -12px rgba(5,38,33,.55), 0 0 0 1px rgba(226,185,111,.35);
	transform: perspective(900px) rotateX(var(--aobp-rx)) rotateY(var(--aobp-ry)); transition: transform .25s ease, box-shadow .25s ease; }
.aobp-ccard svg { display: block; width: 100%; height: auto; }
.aobp-ccard::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; opacity: .55; transition: opacity .3s ease;
	background: linear-gradient(112deg, transparent 32%, rgba(255,240,205,.0) 38%, rgba(255,236,190,.34) 47%, rgba(226,185,111,.28) 52%, rgba(255,255,255,0) 60%) no-repeat;
	background-size: 260% 100%; background-position: var(--aobp-mx) 0; }
.aobp-ccard.is-live { transition: transform .06s linear; box-shadow: 0 2px 4px rgba(5,38,33,.25), 0 34px 60px -14px rgba(5,38,33,.6), 0 0 0 1px rgba(226,185,111,.55); }
.aobp-ccard.is-live::after { opacity: 1; }
.aobp-ccard--sample { --aobp-rz: -2deg; transform: perspective(900px) rotate(var(--aobp-rz)) rotateX(var(--aobp-rx)) rotateY(var(--aobp-ry)); }

/* Community Card hero (homepage): value first, one dominant CTA, product on the right */
.aobp-cardhero { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-areas: "eyebrow card" "title card" "copy card" "cta card" "benefits card" "note card"; gap: 0 48px; align-items: start; padding: 48px; }
.aobp-cardhero--nocard { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "title" "copy" "cta"; }
.aobp-cardhero__eyebrow { grid-area: eyebrow; align-self: end; }
.aobp .aobp-cardhero__title { grid-area: title; margin: 10px 0 0; font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.35rem); line-height: 1.15; letter-spacing: -.02em; }
.aobp[lang="bn"] .aobp-cardhero__title { line-height: 1.35; letter-spacing: 0; }
.aobp .aobp-cardhero__copy { grid-area: copy; margin-top: 14px; max-width: 52ch; font-size: 1.08rem; color: rgba(255,255,255,.9); }
.aobp-cardhero__cta { grid-area: cta; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 26px; }
.aobp .aobp-cardhero__cta .aobp-btn--gold { min-height: 56px; padding-inline: 28px; font-size: 1.08rem; box-shadow: inset 0 -3px 0 rgba(0,0,0,.14), 0 12px 28px -10px rgba(0,0,0,.55); }
.aobp .aobp-cardhero__secondary { display: inline-flex; align-items: center; gap: 8px; padding: 6px 2px; color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 5px; }
.aobp .aobp-cardhero__secondary:hover { color: var(--aobp-gold); text-decoration-color: currentColor; }
.aobp-cardhero__benefits { grid-area: benefits; display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; color: rgba(255,255,255,.92); font-weight: 600; font-size: .95rem; }
.aobp-cardhero__benefits li { display: inline-flex; align-items: center; gap: 6px; }
.aobp-cardhero__benefits .aobp-icon { color: var(--aobp-gold); }
.aobp .aobp-cardhero__note { grid-area: note; margin-top: 16px; font-size: .84rem; color: rgba(255,255,255,.72); }
.aobp-cardhero__card { grid-area: card; align-self: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.aobp-cardhero__card .aobp-ccard { max-width: 600px; }
.aobp .aobp-cardhero__caption { font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.aobp[lang="bn"] .aobp-cardhero__caption { letter-spacing: 0; text-transform: none; }

/* Community Card generator */
.aobp-cardgen { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; margin-top: 40px; align-items: start; }
.aobp-cardgen__preview { position: sticky; top: calc(var(--aobp-top) + 92px); display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.aobp-cardgen__stage { padding: 22px; border-radius: var(--aobp-r-xl); background: radial-gradient(ellipse at 50% 30%, #ffffff, #e9f1ed); border: 1px solid var(--aobp-line); }
.aobp-cardgen__stage .aobp-ccard { max-width: none; transform: none; }
.aobp-cardgen__actions { margin-top: 0; }
.aobp-cardgen__privacy { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--aobp-r); background: var(--aobp-g-50); border: 1px solid var(--aobp-g-100); color: var(--aobp-teal-ink); font-size: .9rem; line-height: 1.5; }
.aobp-cardgen__privacy .aobp-icon { margin-top: 2px; }
.aobp-cardgen__form { min-width: 0; }
.aobp-cardgen__form > .aobp-step + .aobp-step, .aobp-cardgen__form > * + * { margin-top: 16px; }
.aobp-cardgen__lang { border: 0; padding: 0; margin: 0; }
.aobp-cardgen__lang legend { font-weight: 600; font-size: .94rem; margin-bottom: 6px; padding: 0; }
.aobp-cardgen__photo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.aobp .aobp-cardgen__photo input[type=file] { flex: 1 1 220px; min-height: 46px; padding: 9px; border: 1px dashed var(--aobp-line-2); border-radius: 10px; background: #fff; font: inherit; font-size: .92rem; }
.aobp-cardgen__save .aobp-btn { align-self: flex-start; }
.aobp-designs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.aobp-design { position: relative; cursor: pointer; }
.aobp-design input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.aobp-design__swatch { display: block; height: 58px; border-radius: 12px 12px 0 0; border: 1px solid var(--aobp-line-2); border-bottom: 0; position: relative; overflow: hidden; }
.aobp-design__swatch::after { content: ""; position: absolute; left: 50%; bottom: -14px; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%; }
.aobp-design--emerald .aobp-design__swatch { background: linear-gradient(135deg, #00805b, #011a14); }
.aobp-design--emerald .aobp-design__swatch::after { background: #F42A41; box-shadow: 0 0 0 3px #d5a65f; }
.aobp-design--heritage .aobp-design__swatch { background: linear-gradient(135deg, #a3243a, #2a0510); }
.aobp-design--heritage .aobp-design__swatch::after { background: #f6c443; box-shadow: 0 0 0 3px #f7de9e; }
.aobp-design--minimal .aobp-design__swatch { background: linear-gradient(135deg, #ffffff, #e6efeb); }
.aobp-design--minimal .aobp-design__swatch::after { background: #F42A41; box-shadow: 0 0 0 3px #167A69; }
.aobp-design__text { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border: 1px solid var(--aobp-line-2); border-radius: 0 0 12px 12px; background: #fff; font-size: .85rem; line-height: 1.3; }
.aobp-design__text strong { color: var(--aobp-g-900); }
.aobp-design__text span { color: var(--aobp-ink-2); }
.aobp-design input:checked ~ .aobp-design__swatch, .aobp-design input:checked ~ .aobp-design__text { border-color: var(--aobp-g-600); box-shadow: 0 0 0 1px var(--aobp-g-600); }
.aobp-design input:checked ~ .aobp-design__text { background: var(--aobp-g-50); }
.aobp-design input:focus-visible ~ .aobp-design__text { box-shadow: var(--aobp-focus); }
.aobp-ccard--minimal { box-shadow: 0 2px 4px rgba(5,38,33,.12), 0 24px 48px -16px rgba(5,38,33,.35), 0 0 0 1px rgba(16,63,55,.14); }
@media (prefers-reduced-motion: no-preference) {
	.aobp-ccard::after { animation: aobp-foil 3.2s ease-in-out .6s 1 both; }
}
@keyframes aobp-foil { from { background-position: 110% 0; } to { background-position: 30% 0; } }

.aobp-card-page { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; margin-top: 40px; align-items: start; }
.aobp-card-page__visual { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; min-width: 0; position: sticky; top: calc(var(--aobp-top) + 96px); }
.aobp-card-page__visual .aobp-ccard--sample { transform: none; opacity: .94; }
.aobp-card-page__side { display: flex; flex-direction: column; gap: 16px; }
.aobp-checklist { display: grid; gap: 10px; }
.aobp-checklist li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.aobp-checklist .aobp-icon { margin-top: 3px; color: var(--aobp-g-600); }
.aobp-verify { margin-top: 40px; }
.aobp-verify__result { padding: 32px; border-radius: var(--aobp-r-xl); background: #fff; border: 1px solid var(--aobp-line); text-align: center; margin-bottom: 18px; box-shadow: var(--aobp-sh-2); }
.aobp-verify__result--ok { border-top: 6px solid #006A4E; }
.aobp-verify__result--bad { border-top: 6px solid var(--aobp-danger); }
.aobp-verify__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--aobp-ok-bg); color: var(--aobp-ok); margin-bottom: 12px; }
.aobp-verify__result--bad .aobp-verify__icon { background: var(--aobp-danger-bg); color: var(--aobp-danger); }
.aobp-verify .aobp-deflist { text-align: left; max-width: 360px; margin: 20px auto; }

/* 16 Badge maker ------------------------------------------------------------------------ */
.aobp-hero--pride { background: radial-gradient(700px 300px at 90% 0%, rgba(244,42,65,.25), transparent 65%), linear-gradient(160deg, #0d5a49 0%, var(--aobp-g-950) 100%); }
.aobp-proud { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: 40px; margin-top: 40px; align-items: center; }
.aobp-proud__preview { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.aobp-badge-stage { position: relative; padding: 4%; border-radius: 50%; background: radial-gradient(closest-side, rgba(226,185,111,.22), transparent 72%); }
.aobp-badge-stage svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 34px rgba(5,38,33,.38)); }
.aobp-scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.aobp-scene { position: relative; cursor: pointer; }
.aobp-scene input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.aobp-scene__art { display: block; height: 74px; border-radius: 12px 12px 0 0; border: 1px solid var(--aobp-line-2); border-bottom: 0; position: relative; overflow: hidden; }
.aobp-scene__art::before { content: ""; position: absolute; left: 50%; width: 46px; height: 46px; margin-left: -23px; border-radius: 50%; background: #F42A41; top: 18px; }
.aobp-scene__art::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 26px; }
.aobp-scene--soudho .aobp-scene__art { background: linear-gradient(#0b4136, #e59a62 80%); }
.aobp-scene--soudho .aobp-scene__art::after { background: conic-gradient(from 160deg at 50% -40%, transparent 0 15deg, #0b3530 15deg 30deg, transparent 30deg); background-color: #1f6e50; clip-path: polygon(0 40%, 38% 30%, 50% -120%, 62% 30%, 100% 40%, 100% 100%, 0 100%); }
.aobp-scene--minar .aobp-scene__art { background: linear-gradient(#0b4136, #e59a62 80%); }
.aobp-scene--minar .aobp-scene__art::after { background: repeating-linear-gradient(90deg, transparent 0 34%, #f4ecdd 34% 36%, transparent 36% 40%, #f4ecdd 40% 42%, transparent 42% 58%, #f4ecdd 58% 60%, transparent 60% 64%, #f4ecdd 64% 66%, transparent 66%), #164f3f; height: 34px; }
.aobp-scene--nouka .aobp-scene__art { background: linear-gradient(#1c3f52, #ef9a55 70%, #3d8a80 70%); }
.aobp-scene--nouka .aobp-scene__art::before { top: 26px; width: 38px; height: 38px; margin-left: -19px; }
.aobp-scene--nouka .aobp-scene__art::after { background: linear-gradient(transparent 55%, #0a2622 55% 75%, transparent 75%); height: 22px; clip-path: polygon(30% 30%, 70% 30%, 62% 70%, 38% 70%); }
.aobp-scene--sangsad .aobp-scene__art { background: linear-gradient(#1c3f52, #ef9a55 70%, #1d5751 70%); }
.aobp-scene--sangsad .aobp-scene__art::after { bottom: 22px; height: 30px; background: #13292a; clip-path: polygon(20% 50%, 30% 50%, 30% 30%, 40% 30%, 40% 0, 60% 0, 60% 30%, 70% 30%, 70% 50%, 80% 50%, 80% 100%, 20% 100%); }
.aobp-scene__text { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border: 1px solid var(--aobp-line-2); border-radius: 0 0 12px 12px; background: #fff; font-size: .85rem; line-height: 1.3; }
.aobp-scene__text strong { color: var(--aobp-g-900); }
.aobp-scene__text span { color: var(--aobp-ink-2); }
.aobp-scene input:checked ~ .aobp-scene__art, .aobp-scene input:checked ~ .aobp-scene__text { border-color: var(--aobp-g-600); box-shadow: 0 0 0 1px var(--aobp-g-600); }
.aobp-scene input:checked ~ .aobp-scene__text { background: var(--aobp-g-50); }
.aobp-scene input:focus-visible ~ .aobp-scene__text { box-shadow: var(--aobp-focus); }

/* 17 Empty states & trust footer -------------------------------------------------------- */
.aobp-empty { text-align: center; padding: 48px 24px; background: #fff; border: 1px dashed var(--aobp-line-2); border-radius: var(--aobp-r-lg); }
.aobp-empty__icon { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--aobp-g-50); color: var(--aobp-g-600); margin-bottom: 14px; }
.aobp-empty p { color: var(--aobp-ink-2); margin: 6px auto 18px; max-width: 520px; }
.aobp-trust { background: #fff; border-top: 1px solid var(--aobp-line); padding: 40px 0; }
.aobp-trust__inner { display: flex; gap: 20px; align-items: flex-start; }
.aobp-trust__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 14px; background: var(--aobp-g-50); color: var(--aobp-g-600); }
.aobp .aobp-trust h2 { font-size: 1.08rem; margin-bottom: 12px; }
.aobp-trust ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 28px; color: var(--aobp-ink-2); font-size: .92rem; line-height: 1.55; }
.aobp-trust li { position: relative; padding-left: 26px; }
.aobp-trust li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--aobp-ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317663a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 11px no-repeat; }

/* 18 Responsive ------------------------------------------------------------------------- */
@media (max-width: 1140px) {
	.aobp-topbar__inner { flex-wrap: wrap; min-height: 64px; padding-block: 10px; gap: 12px; }
	.aobp-nav { order: 3; flex-basis: 100%; }
	.aobp-nav__toggle { display: grid; position: absolute; right: 24px; top: 10px; }
	.aobp .aobp-lang { margin-left: auto; margin-right: 56px; }
	.aobp-nav__list { display: none; flex-direction: column; align-items: stretch; gap: 2px; padding: 6px 0 8px; border-top: 1px solid rgba(255,255,255,.1); }
	.aobp-nav.is-open .aobp-nav__list { display: flex; }
	.aobp .aobp-nav__list a { display: flex; padding: 12px; font-size: 1rem; }
	.aobp-nav__list a.is-active::after { left: 0; right: auto; top: 10px; bottom: 10px; width: 3px; height: auto; }
	.aobp-nav__list li:last-child { margin-left: 0; margin-top: 6px; }
	.aobp .aobp-nav__list a.aobp-nav__cta { margin-left: 0; justify-content: center; padding: 12px; }
	.aobp-hero__grid { grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; }
}
@media (max-width: 960px) {
	.aobp-layout, .aobp-detail, .aobp-pride-band, .aobp-card-page, .aobp-proud, .aobp-cardgen { grid-template-columns: minmax(0, 1fr); }
	.aobp-cardgen__preview { position: static; }
	/* Mobile order: headline, copy, card, primary CTA, secondary CTA, benefits, note */
	.aobp-cardhero { grid-template-areas: "eyebrow" "title" "copy" "card" "cta" "benefits" "note"; padding: 32px; }
	.aobp-cardhero__card { margin-top: 24px; }
	.aobp-cardhero__card .aobp-ccard { max-width: 560px; }
	.aobp-filters, .aobp-detail__side, .aobp-card-page__visual { position: static; }
	/* Filters fold into a drawer on narrow screens so results stay near the top. */
	.aobp-filters { gap: 0; padding: 0; max-height: none; overflow: visible; }
	.aobp-filters__toggle { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 18px; font-weight: 700; color: var(--aobp-ink); cursor: pointer; list-style: none; }
	.aobp-filters__toggle::-webkit-details-marker { display: none; }
	.aobp-filters__toggle::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .15s; }
	.aobp-filters__drawer[open] .aobp-filters__toggle::after { transform: rotate(-135deg) translateY(-3px); }
	.aobp-filters__drawer[open] .aobp-filters__toggle { border-bottom: 1px solid var(--aobp-line); }
	.aobp-filters__body { padding: 18px; }
	.aobp-help-band { grid-template-columns: 1fr; }
	.aobp-pride-band { padding: 28px; }
	.aobp-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.aobp-hero__panel { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; align-items: center; max-width: 560px; }
	.aobp-hero__panel-label, .aobp-hero__next, .aobp-hero__love { grid-column: 1 / -1; }
	.aobp-hero__time { margin-top: 6px; }
	.aobp-hero__time strong { font-size: 2.6rem; }
	.aobp-hero__date { margin-top: 6px; }
	.aobp-trust ul { grid-template-columns: 1fr; }
	.aobp-page-head__row { flex-wrap: wrap; }
	.aobp-page-head__actions { flex-basis: 100%; }
	.aobp-profile__bar { grid-template-columns: auto minmax(0, 1fr); }
	.aobp-profile__actions { grid-column: 1 / -1; justify-content: flex-start; max-width: none; margin-top: 8px; }
}
@media (max-width: 640px) {
	.aobp-wrap { padding-inline: 16px; }
	.aobp-nav__toggle { right: 16px; }
	.aobp-brand__text small { display: none; }
	.aobp-section { margin-top: 44px; }
	.aobp-section__head { margin-bottom: 16px; }
	.aobp-hero__inner { padding-block: 36px 40px; }
	.aobp-hero--compact .aobp-hero__inner { padding-block: 16px 36px; }
	.aobp-hero--compact .aobp-crumbs { margin-bottom: 20px; }
	.aobp-hero__lead { font-size: 1.04rem; }
	.aobp-search { flex-direction: column; padding: 10px; gap: 6px; border-radius: 16px; }
	.aobp .aobp-search__country { border-left: 0; border-top: 1px solid var(--aobp-line); padding: 12px 14px; max-width: none; min-height: 46px; }
	.aobp .aobp-search .aobp-btn { width: 100%; }
	/* Results: compact list rows, icon-only layout switch, no page numbers far from the current one */
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card { grid-template-columns: 92px minmax(0, 1fr); }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__cover { min-height: 0; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__head { transform: scale(.82); }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card--photo .aobp-card__head { align-self: center; justify-self: center; margin: 0; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__flags { display: none; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__body { padding: 12px 14px 0; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__summary { display: none; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__foot { padding: 8px 14px; }
	html[data-aobp-layout="list"] .aobp-results__grid .aobp-card__cta { display: none; }
	.aobp .aobp-layoutsw__btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.aobp .aobp-layoutsw__btn { padding: 5px 9px; }
	.aobp-pager__list .is-far { display: none; }
	.aobp-tabs { margin-inline: -16px; padding-inline: 12px; }
	/* Swipeable rails instead of very long stacks */
	.aobp-quick, .aobp-celebrate, .aobp-home-band .aobp-grid--4 { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; margin-inline: -16px; padding: 4px 16px 10px; scrollbar-width: none; }
	.aobp-quick::-webkit-scrollbar, .aobp-celebrate::-webkit-scrollbar, .aobp-home-band .aobp-grid--4::-webkit-scrollbar { display: none; }
	.aobp-quick > li { flex: none; scroll-snap-align: start; }
	.aobp-celebrate > li { flex: 0 0 72%; scroll-snap-align: start; }
	.aobp-home-band .aobp-grid--4 > * { flex: 0 0 70%; scroll-snap-align: start; }
	.aobp-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.aobp .aobp-countries a { gap: 8px; padding: 10px; font-size: .9rem; }
	.aobp-iso { width: 30px; height: 22px; font-size: .64rem; }
	.aobp-countries__n { display: none; }
	.aobp-region-block { padding: 16px; border-radius: 16px; }
	.aobp-active-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.aobp .aobp-active-countries a { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
	.aobp-active-countries a > .aobp-icon:last-child { display: none; }
	.aobp-iso--lg { width: 40px; height: 30px; font-size: .74rem; }
	.aobp-cflag-frame--lg .aobp-cflag { width: 40px; height: 30px; border-radius: 6px; }
	.aobp-countries .aobp-cflag, .aobp-countries--index .aobp-cflag { width: 28px; height: 21px; }
	.aobp-page-head__icon--flag .aobp-cflag { width: 56px; height: 42px; border-radius: 10px; }
	.aobp-active-countries__text strong { font-size: 1rem; }
	.aobp-countries--index a > .aobp-icon:last-child { display: none; }
	.aobp-finder__search { padding-left: 14px; }
	.aobp-finder__total { display: none; }
	.aobp-finder__regions { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 0 16px 4px; scrollbar-width: none; }
	.aobp-finder__regions a { flex: none; }
	.aobp-page-head__inner { padding-block: 16px 26px; }
	.aobp-page-head__row { gap: 14px; margin-top: 14px; }
	.aobp-page-head__icon { width: 44px; height: 44px; border-radius: 12px; }
	.aobp-page-head__icon .aobp-icon { width: 22px; height: 22px; }
	.aobp-page-head__actions .aobp-btn, .aobp-help-band__actions .aobp-btn, .aobp-pride-band .aobp-btn, .aobp-cta .aobp-btn { width: 100%; white-space: normal; }
	.aobp-lead { font-size: 1rem; }
	.aobp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.aobp-facts > div { padding: 10px 12px; }
	.aobp-facts dd { font-size: .98rem; }
	.aobp-profile__cover { height: 150px; }
	.aobp-profile__cover .aobp-crumbs { padding-top: 14px; }
	.aobp-crumbs ol { flex-wrap: nowrap; }
	.aobp-crumbs li { flex: none; }
	.aobp-crumbs li:last-child { flex: 1 1 auto; min-width: 0; }
	.aobp-crumbs [aria-current] { display: block; max-width: 100%; }
	.aobp-profile__cover::after { width: 200px; height: 200px; top: -90px; right: -30px; }
	.aobp-profile__bar { grid-template-columns: minmax(0, 1fr); margin-top: -58px; padding: 0 18px 20px; border-radius: 18px; }
	.aobp-profile__media { margin-top: -46px; }
	.aobp-profile__logo { width: 92px; height: 92px; border-radius: 22px; border-width: 4px; font-size: 1.7rem; }
	.aobp .aobp-profile__date { width: 88px; border-width: 4px; border-radius: 20px; }
	.aobp .aobp-profile__date strong { font-size: 2rem; }
	.aobp .aobp-profile__org { width: 44px; height: 44px; right: -14px; bottom: -8px; }
	.aobp-profile__actions .aobp-btn { flex: 1 1 auto; }
	.aobp-block { padding: 20px 18px; border-radius: 16px; }
	.aobp-gallery { margin: 16px -16px 0; }
	.aobp-gallery__grid { display: flex; grid-template-rows: none; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; padding: 0 16px; border-radius: 0; scrollbar-width: none; }
	.aobp-gallery__grid::-webkit-scrollbar { display: none; }
	.aobp-gallery__tile, .aobp-gallery__tile:nth-child(n+6) { display: block; flex: 0 0 86%; height: 230px; border-radius: 16px; overflow: hidden; scroll-snap-align: start; }
	.aobp-gallery--n1 .aobp-gallery__tile { flex-basis: 100%; }
	.aobp-gallery__more { display: none; }
	.aobp .aobp-gallery__all { right: 28px; bottom: 12px; padding: 8px 12px; font-size: .85rem; }
	.aobp-lightbox__stage { grid-template-columns: minmax(0, 1fr); padding: 0 8px; }
	.aobp-lightbox__nav { position: absolute; top: 50%; z-index: 1; transform: translateY(-50%); background: rgba(0,0,0,.45) !important; }
	.aobp-lightbox__nav--prev { left: 8px; }
	.aobp-lightbox__nav--next { right: 8px; }
	.aobp-lightbox__thumbs button { width: 64px; height: 46px; }
	.aobp-lightbox__title { display: none; }
	.aobp-lightbox__top { grid-template-columns: 1fr auto; }
	.aobp-glance { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.aobp-help-band, .aobp-cta { padding: 24px 22px; border-radius: var(--aobp-r-lg); }
	.aobp-pride-band { padding: 24px 20px; border-radius: var(--aobp-r-lg); }
	.aobp-cardhero { padding: 26px 18px; }
	.aobp-cardhero__cta { flex-direction: column; align-items: stretch; gap: 10px; }
	.aobp .aobp-cardhero__cta .aobp-btn--gold { width: 100%; white-space: normal; }
	.aobp .aobp-cardhero__secondary { justify-content: center; }
	.aobp-cardhero__benefits { justify-content: center; }
	.aobp .aobp-cardhero__note { text-align: center; }
	.aobp-cardgen__stage { padding: 10px; border-radius: var(--aobp-r-lg); }
	.aobp-designs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.aobp-design__text { padding: 6px; font-size: .76rem; }
	.aobp-design__swatch { height: 44px; }
	.aobp-cardgen__actions .aobp-btn { flex: 1 1 auto; }
	.aobp-grid--2, .aobp-grid--3 { grid-template-columns: 1fr; }
	.aobp-step { padding: 18px; }
	.aobp-detail__main > .aobp-prose { padding: 18px; }
	.aobp-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aobp-choices--stack { grid-template-columns: 1fr; }
	.aobp-cal__grid { display: none; }
	.aobp-cal__agenda { display: block; }
	.aobp-trust { padding: 32px 0; }
	.aobp-trust__inner { flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.aobp *, .aobp *::before, .aobp *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
	.aobp-topbar, .aobp-trust, .aobp-urgent, .aobp-privacy-note, .aobp-report { display: none; }
	.aobp-page-head, .aobp-hero { background: none; color: #000; }
}

/* ==========================================================================
   ListingPro Coexistence & Specificity Fortification
   ========================================================================== */
.aobp h1, .aobp h2, .aobp h3, .aobp h4 {
	font-family: var(--aobp-font) !important;
}
.aobp .aobp-section__title,
.aobp h2 {
	color: var(--aobp-g-900) !important;
	font-weight: 700 !important;
}
.aobp .aobp-card__title a {
	color: var(--aobp-g-900) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
}
.aobp .aobp-card__title a:hover {
	color: var(--aobp-g-700) !important;
}
.aobp .aobp-card__kicker {
	font-size: 11px !important;
	color: var(--aobp-g-700) !important;
	font-weight: 700 !important;
}
.aobp .aobp-card__summary,
.aobp .aobp-card__line {
	font-size: 14px !important;
	color: var(--aobp-ink-2) !important;
}
.aobp .aobp-btn {
	font-size: 15px !important;
	font-weight: 600 !important;
}
.aobp .aobp-quick a {
	font-size: 14px !important;
}
.aobp .aobp-step {
	font-size: 15px !important;
}

/* ==========================================================================
   Probashi Executive Visual Polish & WCAG AAA Contrast Armor Layer
   Guarantees bulletproof readability, rich depth, and flawless visual harmony
   ========================================================================== */

/* 1. Global Isolation & Typography Stack */
html.aobp-html,
body.aobp-page {
	font-family: "Hind Siliguri", "Noto Sans Bengali", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	color: #13221f !important;
	background: #f5f7f5 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	-webkit-font-smoothing: antialiased !important;
}

.aobp {
	font-family: "Hind Siliguri", "Noto Sans Bengali", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	color: #13221f !important;
	background: #f5f7f5 !important;
}

/* Headings on light background */
.aobp h1:not(.aobp-hero__title):not(.aobp-cardhero__title),
.aobp h2:not(.aobp-hero__panel *):not(.aobp-help-band *):not(.aobp-cardhero *):not(.aobp-trust *),
.aobp .aobp-section__head h2 {
	color: #0b2e28 !important;
	font-weight: 700 !important;
	letter-spacing: -0.015em !important;
}

.aobp .aobp-section__head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
}

.aobp .aobp-section__head h2 {
	font-size: clamp(1.4rem, 1.15rem + 0.8vw, 1.85rem) !important;
	margin: 0 !important;
}

.aobp .aobp-more {
	color: #167a69 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.aobp .aobp-more:hover {
	color: #0b2e28 !important;
	text-decoration: none !important;
	transform: translateX(2px) !important;
}

/* 2. Topbar Subnavigation */
.aobp-topbar {
	background: #0b2e28 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
	box-shadow: 0 4px 12px rgba(6, 35, 30, 0.25) !important;
}

.aobp-topbar__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-block: 10px !important;
}

.aobp-topbar__brand a {
	color: #ffffff !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

.aobp-topbar__brand small {
	color: var(--aobp-gold) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.aobp-topbar__nav a {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	padding: 6px 12px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.aobp-topbar__nav a:hover,
.aobp-topbar__nav a[aria-current="page"] {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.14) !important;
}

.aobp-topbar__cta .aobp-btn--gold {
	background: #d5a65f !important;
	color: #0b2e28 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	padding: 7px 16px !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.aobp-topbar__cta .aobp-btn--gold:hover {
	background: #e2b874 !important;
	color: #0b2e28 !important;
}

.aobp-lang-switch a {
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 6px !important;
	padding: 4px 10px !important;
}

/* 3. Hero Section & Photo Layer */
.aobp-hero--photo {
	position: relative !important;
	background: #eef7f4 url("../img/hero-community.webp") center 30% / cover no-repeat !important;
	border-bottom: 1px solid #dcefe9 !important;
}

.aobp-hero--photo::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(244,250,247,0.90) 55%, rgba(255,255,255,0.96) 100%) !important;
	pointer-events: none !important;
}

.aobp-hero__inner {
	position: relative !important;
	z-index: 1 !important;
	padding-block: 56px 64px !important;
}

.aobp .aobp-pride-row {
	display: flex !important;
	align-items: center !important;
	margin-bottom: 12px !important;
}

.aobp .aobp-pride-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 5px 14px !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	border: 1px solid #c4e0d8 !important;
	box-shadow: 0 2px 8px rgba(11, 46, 40, 0.06) !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #0b2e28 !important;
}

.aobp .aobp-hero--photo .aobp-eyebrow {
	color: #167a69 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin-bottom: 8px !important;
}

.aobp .aobp-hero--photo .aobp-hero__title {
	color: #06231e !important;
	font-size: clamp(2.1rem, 1.4rem + 2.5vw, 3.3rem) !important;
	font-weight: 800 !important;
	line-height: 1.14 !important;
	letter-spacing: -0.025em !important;
	max-width: 760px !important;
	margin-bottom: 16px !important;
}

.aobp .aobp-hero--photo .aobp-hero__lead {
	color: #13221f !important;
	font-size: 1.15rem !important;
	line-height: 1.6 !important;
	max-width: 640px !important;
	margin-bottom: 24px !important;
	font-weight: 500 !important;
}

/* Modernized Search Box */
.aobp-hero--photo .aobp-search {
	display: flex !important;
	align-items: stretch !important;
	gap: 8px !important;
	background: #ffffff !important;
	padding: 8px !important;
	border-radius: 16px !important;
	box-shadow: 0 16px 36px -12px rgba(6, 35, 30, 0.22), 0 0 0 1.5px #c4e0d8 !important;
	max-width: 820px !important;
}

.aobp-hero--photo .aobp-search__field {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding-inline: 14px !important;
	color: #5c6b67 !important;
}

.aobp-hero--photo .aobp-search__field input {
	flex: 1 !important;
	border: 0 !important;
	outline: none !important;
	background: transparent !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #13221f !important;
	padding: 10px 0 !important;
}

.aobp-hero--photo .aobp-search__country {
	border: 0 !important;
	border-left: 1px solid #dcefe9 !important;
	padding: 0 16px !important;
	background: transparent !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #13221f !important;
	cursor: pointer !important;
}

.aobp-hero--photo .aobp-search .aobp-btn--gold {
	background: #d5a65f !important;
	color: #0b2e28 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 12px 24px !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 12px rgba(11, 46, 40, 0.15) !important;
}

.aobp-hero--photo .aobp-search .aobp-btn--gold:hover {
	background: #e2b874 !important;
	color: #0b2e28 !important;
}

/* Quick Navigation Pills */
.aobp .aobp-hero--photo .aobp-quick {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 24px !important;
}

.aobp .aobp-hero--photo .aobp-quick a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 9px 16px !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	border: 1.5px solid #c4e0d8 !important;
	color: #103f37 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	box-shadow: 0 2px 6px rgba(11, 46, 40, 0.05) !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.aobp .aobp-hero--photo .aobp-quick a:hover {
	background: #eef7f4 !important;
	border-color: #167a69 !important;
	color: #0b2e28 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(11, 46, 40, 0.1) !important;
}

.aobp .aobp-hero--photo .aobp-quick .aobp-icon {
	color: #167a69 !important;
}

/* Dhaka Clock Panel */
.aobp .aobp-hero__panel {
	position: relative !important;
	padding: 28px 26px 24px !important;
	border-radius: 20px !important;
	background: linear-gradient(160deg, #103f37 0%, #06231e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	box-shadow: 0 24px 48px -12px rgba(6, 35, 30, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
}

.aobp .aobp-hero__panel-label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: #ffffff !important;
}

.aobp .aobp-hero__time {
	margin-top: 10px !important;
	line-height: 1 !important;
}

.aobp .aobp-hero__time strong {
	font-size: 3.5rem !important;
	font-weight: 800 !important;
	color: #d5a65f !important;
	letter-spacing: -0.03em !important;
	font-variant-numeric: tabular-nums !important;
	line-height: 1 !important;
}

.aobp .aobp-hero__date {
	margin-top: 8px !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
}

.aobp .aobp-hero__next {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.aobp .aobp-hero__next-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: rgba(255, 255, 255, 0.72) !important;
}

.aobp .aobp-hero__next > strong {
	font-size: 16px !important;
	color: #ffffff !important;
	font-weight: 700 !important;
}

.aobp .aobp-hero__next-count {
	color: #d5a65f !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.aobp .aobp-hero__next-count strong {
	color: #d5a65f !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.aobp .aobp-hero__love {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 18px !important;
	color: #d5a65f !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}

/* 4. Official Help Band */
.aobp .aobp-help-band {
	position: relative !important;
	overflow: hidden !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 24px 36px !important;
	align-items: center !important;
	padding: 38px 42px !important;
	border-radius: 20px !important;
	background: linear-gradient(135deg, #0b2e28 0%, #103f37 60%, #14544a 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	color: #ffffff !important;
	box-shadow: 0 20px 45px -12px rgba(6, 35, 30, 0.45) !important;
}

.aobp .aobp-help-band h2 {
	color: #ffffff !important;
	font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem) !important;
	font-weight: 700 !important;
	margin: 0 0 10px 0 !important;
	letter-spacing: -0.015em !important;
}

.aobp .aobp-help-band p {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: 1.02rem !important;
	line-height: 1.6 !important;
	max-width: 680px !important;
	margin: 0 !important;
}

.aobp .aobp-help-band__actions {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	align-items: center !important;
}

.aobp .aobp-help-band__actions .aobp-btn--gold {
	background: #d5a65f !important;
	color: #0b2e28 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 12px 22px !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
	text-decoration: none !important;
}

.aobp .aobp-help-band__actions .aobp-btn--gold:hover {
	background: #e2b874 !important;
	color: #0b2e28 !important;
}

.aobp .aobp-help-band__actions .aobp-btn--light {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
	border: 1.5px solid rgba(255, 255, 255, 0.75) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	padding: 12px 22px !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.aobp .aobp-help-band__actions .aobp-btn--light:hover {
	background: rgba(255, 255, 255, 0.25) !important;
	border-color: #ffffff !important;
	color: #ffffff !important;
}

.aobp .aobp-help-band__family {
	grid-column: 1 / -1 !important;
	margin: 12px 0 0 0 !important;
}

.aobp .aobp-help-band__family a {
	color: #d5a65f !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

.aobp .aobp-help-band__family a:hover {
	color: #e2b874 !important;
}

.aobp .aobp-help-band__urgent {
	grid-column: 1 / -1 !important;
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	padding-top: 16px !important;
	margin-top: 14px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
	font-size: 0.95rem !important;
	color: #ffffff !important;
	font-weight: 500 !important;
}

.aobp .aobp-help-band__urgent .aobp-icon {
	color: #d5a65f !important;
	flex-shrink: 0 !important;
}

/* 5. Celebrations Cards */
.aobp .aobp-celebrate {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)) !important;
	gap: 16px !important;
}

.aobp .aobp-celebrate__item {
	background: #ffffff !important;
	border: 1px solid #e2e8e5 !important;
	border-radius: 16px !important;
	padding: 22px 20px 18px !important;
	box-shadow: 0 2px 8px rgba(11, 46, 40, 0.04) !important;
	transition: all 0.2s ease !important;
}

.aobp .aobp-celebrate__item:hover {
	border-color: #167a69 !important;
	box-shadow: 0 8px 20px rgba(11, 46, 40, 0.1) !important;
	transform: translateY(-2px) !important;
}

.aobp .aobp-celebrate__count strong {
	color: #0b2e28 !important;
	font-size: 2.2rem !important;
	font-weight: 800 !important;
}

.aobp .aobp-celebrate__count span {
	color: #5c6b67 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.aobp .aobp-celebrate__name {
	color: #0b2e28 !important;
	font-weight: 700 !important;
	font-size: 15.5px !important;
	margin-top: 8px !important;
}

.aobp .aobp-celebrate__date {
	color: #5c6b67 !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
}

.aobp .aobp-celebrate__link {
	color: #167a69 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	margin-top: 10px !important;
	text-decoration: none !important;
}

.aobp .aobp-celebrate__link:hover {
	color: #0b2e28 !important;
	text-decoration: underline !important;
}

/* 6. Pride & Community Card Hero */
.aobp .aobp-pride-band,
.aobp .aobp-cardhero {
	position: relative !important;
	overflow: hidden !important;
	background: linear-gradient(135deg, #0b2e28 0%, #103f37 60%, #06231e 100%) !important;
	border: 1px solid rgba(213, 166, 95, 0.3) !important;
	border-radius: 20px !important;
	padding: 44px 40px !important;
	color: #ffffff !important;
	box-shadow: 0 24px 50px -15px rgba(6, 35, 30, 0.55) !important;
}

.aobp .aobp-cardhero__eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #d5a65f !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}

.aobp .aobp-cardhero__eyebrow svg {
	fill: #e2263d !important;
	color: #e2263d !important;
}

.aobp .aobp-cardhero__title {
	color: #ffffff !important;
	font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.2 !important;
	margin: 12px 0 0 0 !important;
}

.aobp .aobp-cardhero__copy {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: 1.08rem !important;
	line-height: 1.6 !important;
	max-width: 54ch !important;
	margin-top: 14px !important;
}

.aobp .aobp-cardhero__cta .aobp-btn--gold {
	background: #d5a65f !important;
	color: #0b2e28 !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
	min-height: 54px !important;
	padding-inline: 28px !important;
	border-radius: 14px !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
	text-decoration: none !important;
}

.aobp .aobp-cardhero__cta .aobp-btn--gold:hover {
	background: #e2b874 !important;
	color: #0b2e28 !important;
}

.aobp .aobp-cardhero__secondary {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(255, 255, 255, 0.5) !important;
	text-underline-offset: 5px !important;
	transition: all 0.15s ease !important;
}

.aobp .aobp-cardhero__secondary:hover {
	color: #d5a65f !important;
	text-decoration-color: currentColor !important;
}

.aobp .aobp-cardhero__secondary svg {
	fill: #e2263d !important;
	color: #e2263d !important;
}

.aobp .aobp-cardhero__benefits {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px 18px !important;
	margin-top: 24px !important;
	color: rgba(255, 255, 255, 0.96) !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
}

.aobp .aobp-cardhero__benefits .aobp-icon {
	color: #d5a65f !important;
}

.aobp .aobp-cardhero__note {
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.85rem !important;
	margin-top: 16px !important;
}

.aobp .aobp-cardhero__caption {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

/* 7. Explore by Country Grid */
.aobp .aobp-countries {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)) !important;
	gap: 12px !important;
	list-style: none !important;
	padding: 0 !important;
}

.aobp .aobp-countries li a {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8e5 !important;
	border-radius: 14px !important;
	padding: 12px 16px !important;
	box-shadow: 0 2px 6px rgba(11, 46, 40, 0.04) !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.aobp .aobp-countries li a:hover {
	border-color: #167a69 !important;
	box-shadow: 0 8px 20px rgba(11, 46, 40, 0.1) !important;
	transform: translateY(-2px) !important;
}

.aobp .aobp-countries__name {
	color: #13221f !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	flex: 1 !important;
}

.aobp .aobp-countries__n {
	background: #eef7f4 !important;
	color: #103f37 !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	padding: 2px 8px !important;
	border-radius: 20px !important;
}

/* 8. Coming Home Section */
.aobp .aobp-home-band {
	background: linear-gradient(180deg, #f5f7f5 0%, #ebf3ef 50%, #f5f7f5 100%) !important;
	padding: 48px 0 64px !important;
}

.aobp .aobp-home-band .aobp-tile {
	display: flex !important;
	flex-direction: column !important;
	background: #ffffff !important;
	border: 1px solid #e2e8e5 !important;
	border-radius: 16px !important;
	padding: 26px 22px !important;
	box-shadow: 0 4px 14px rgba(11, 46, 40, 0.05) !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.aobp .aobp-home-band .aobp-tile:hover {
	border-color: #167a69 !important;
	box-shadow: 0 10px 28px rgba(11, 46, 40, 0.12) !important;
	transform: translateY(-3px) !important;
}

.aobp .aobp-home-band .aobp-tile .aobp-icon {
	color: #167a69 !important;
	margin-bottom: 14px !important;
}

.aobp .aobp-home-band .aobp-tile strong {
	color: #0b2e28 !important;
	font-size: 1.12rem !important;
	font-weight: 700 !important;
	margin-bottom: 6px !important;
}

.aobp .aobp-home-band .aobp-tile span {
	color: #43524e !important;
	font-size: 0.93rem !important;
	line-height: 1.55 !important;
}

/* 9. Organization Registration CTA */
.aobp .aobp-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
	padding: 32px 36px !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8e5 !important;
	border-left: 5px solid #167a69 !important;
	box-shadow: 0 4px 20px rgba(11, 46, 40, 0.06) !important;
	flex-wrap: wrap !important;
}

.aobp .aobp-cta h2 {
	color: #0b2e28 !important;
	font-size: 1.45rem !important;
	font-weight: 700 !important;
	margin: 0 0 6px 0 !important;
}

.aobp .aobp-cta p {
	color: #43524e !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	max-width: 640px !important;
	margin: 0 !important;
}

.aobp .aobp-cta .aobp-btn--primary {
	background: #167a69 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 12px 24px !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 14px rgba(11, 46, 40, 0.15) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.aobp .aobp-cta .aobp-btn--primary:hover {
	background: #103f37 !important;
	color: #ffffff !important;
}

/* 10. Trust Footer */
.aobp .aobp-trust {
	background: #06231e !important;
	color: #ffffff !important;
	padding: 56px 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.aobp .aobp-trust ul {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 28px !important;
	margin-bottom: 36px !important;
}

.aobp .aobp-trust li {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.aobp .aobp-trust .aobp-icon {
	color: #d5a65f !important;
	margin-bottom: 4px !important;
}

.aobp .aobp-trust strong {
	color: #ffffff !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

.aobp .aobp-trust span {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.94rem !important;
	line-height: 1.55 !important;
}

.aobp .aobp-trust a {
	color: #d5a65f !important;
	text-decoration: underline !important;
}

.aobp .aobp-trust small {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 0.88rem !important;
}

/* 11. Empty State Cards & Discovery Panels */
.aobp .aobp-empty {
	background: #ffffff !important;
	border: 1px solid #e2e8e5 !important;
	border-radius: 18px !important;
	padding: 40px 32px !important;
	text-align: center !important;
	box-shadow: 0 2px 8px rgba(11, 46, 40, 0.04) !important;
}

.aobp .aobp-empty__icon {
	color: #167a69 !important;
	margin-bottom: 12px !important;
}

.aobp .aobp-empty h3 {
	color: #0b2e28 !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	margin-bottom: 6px !important;
}

.aobp .aobp-empty p {
	color: #43524e !important;
	font-size: 0.98rem !important;
	max-width: 520px !important;
	margin-inline: auto !important;
}
