/* Community Business Directory v3.0 — Frontend CSS
   Design system: Metronic 8 — clean light surfaces, #009ef7 primary, Inter
   Palette mirrors Metronic 8 (primary/success/info/warning/danger + gray scale) */
:root{
  /* Brand palette (Metronic 8) */
  --cbd-navy:#181c32;          /* gray-900 — primary text / dark */
  --cbd-navy-soft:#1e2235;     /* dark hover */
  --cbd-primary:#009ef7;       /* Metronic primary */
  --cbd-primary-mid:#0095e8;   /* primary active/hover */
  --cbd-primary-light:#f1faff; /* light-primary tint */
  --cbd-teal:#009ef7;          /* accent → primary */
  --cbd-sky:#7239ea;           /* Metronic info (purple accent) */
  --cbd-sky-light:#f8f5ff;
  --cbd-amber:#ffc700;         /* Metronic warning — featured/highlight */
  --cbd-amber-light:#fff8dd;
  --cbd-amber-ink:#9a7b00;
  --cbd-coral:#f1416c;         /* Metronic danger — alert / favourite */
  --cbd-coral-light:#fff5f8;
  --cbd-coral-ink:#d9214e;
  --cbd-success:#50cd89;       /* Metronic success */
  --cbd-success-light:#e8fff3;
  --cbd-success-ink:#1b7a4b;
  /* Ink + surfaces (Metronic gray scale) */
  --cbd-ink:#181c32;           /* gray-900 */
  --cbd-ink-soft:#5e6278;      /* gray-700 */
  --cbd-ink-muted:#a1a5b7;     /* gray-500 */
  --cbd-surface:#f5f8fa;       /* body bg */
  --cbd-surface-2:#eff2f5;     /* gray-100/200 */
  --cbd-border:#eff2f5;        /* subtle divider */
  --cbd-border-strong:#e4e6ef; /* gray-200 */
  /* Shape + depth (Metronic radii + soft shadows) */
  --cbd-radius-xs: 3px;
  --cbd-radius-sm:.475rem;     /* buttons / badges */
  --cbd-radius:.625rem;        /* cards / inputs (~10px) */
  --cbd-radius-lg:1rem;        /* large cards */
  --cbd-shadow:0 0 20px 0 rgba(76,87,125,.06);
  --cbd-shadow-lg:0 0 50px 0 rgba(82,63,105,.15);
  --cbd-ring:0 0 0 .2rem rgba(0,158,247,.25);
  /* Type — Metronic uses Inter throughout */
  --cbd-font-head:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --cbd-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}


#main_header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  transition: background .3s ease-in-out, transform 0.3s ease-in-out;
}
#main_header.is-scrolled {
  background: #0C2A3D;
}
#main_header.is-hidden {
  transform: translateY(-100%);
}

#main_nav_menu .elementor-nav-menu--dropdown{
  position: absolute;
  right: 0;
  left: auto!important;
  max-width: max-content;
  padding: 10px;
}
#main_nav_menu .elementor-item{
  border-radius: 4px;
}
#main_nav_menu .elementor-item-active{

}


/* ===== Plugin style isolation (Hello reset.css + Elementor kit / post-N.css) =====
   Every shortcode + single template output is wrapped in `.cbd-scope`. The wrapper
   adds no layout box (display:contents) so it never disturbs placement (e.g. the
   header account menu), but anchors the plugin's base typography and a counter-reset.

   The reset only targets *unclassed* elements via :not([class]) at specificity
   (0,2,0) — enough to beat Hello's element selectors and Elementor's `.elementor-kit
   h2`/field rules, but it never touches the plugin's own .cbd-* classed components,
   which keep their styles. Keep this block ABOVE the component rules so any ties
   resolve in the component's favour. */
.cbd-scope{display:contents}
.cbd-scope{font-family:var(--cbd-font-body);color:var(--cbd-ink)}
.cbd-scope :where(a):not([class]){color:inherit;text-decoration:none}
.cbd-scope :where(a):not([class]):hover{color:var(--cbd-primary)}
.cbd-scope :where(h1,h2,h3,h4,h5,h6):not([class]){margin:0 0 .5em;font-family:var(--cbd-font-head);font-weight:700;line-height:1.2;color:var(--cbd-ink);letter-spacing:-.01em}
.cbd-scope :where(p):not([class]){margin:0 0 .9em}
.cbd-scope :where(ul,ol):not([class]){margin:0 0 .9em;padding-left:1.25em}
.cbd-scope :where(label):not([class]){display:inline-block;line-height:inherit;vertical-align:baseline}
.cbd-scope :where(button):not([class]){font:inherit;background:none;border:0;border-radius:0;padding:0;margin:0;color:inherit;cursor:pointer;width:auto;text-transform:none}
.cbd-scope :where(input,select,textarea):not([class]){font:inherit;width:auto;background:#fff;color:var(--cbd-ink);border:1px solid var(--cbd-border-strong);border-radius:var(--cbd-radius);padding:10px 12px;transition:border-color .15s}
.cbd-scope :where(input,select,textarea):not([class]):focus{border-color:var(--cbd-primary);outline:0}
.cbd-scope :where(table):not([class]){border-collapse:collapse;width:auto;font-size:inherit}
.cbd-scope :where(td,th):not([class]){border:0;padding:0;background:none;text-align:inherit}
/* Keep Hello's striped/border table rules off the plugin's own data tables. */
.cbd-scope .cbd-dash-table td{background:#fff}

.cbd-wrap{font-family:var(--cbd-font-body);color:var(--cbd-ink);line-height:1.6;max-width:1200px;margin:0 auto;padding:0 16px;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";position: relative;}
.cbd-wrap h1,.cbd-wrap h2,.cbd-wrap h3,.cbd-wrap h4,.cbd-profile-wrap h1,.cbd-profile-wrap h2,.cbd-profile-wrap h3,.cbd-profile-wrap h4,
.cbd-card-title,.cbd-event-title,.cbd-promo-title,.cbd-promo-discount,.cbd-feed-title,.cbd-activity-title,
.cbd-dash-stat-val,.cbd-plans-title,.cbd-plan-name,.cbd-price-amount,.cbd-profile-name{font-family:var(--cbd-font-head);letter-spacing:-.01em}

/* ── Notices ── */
.cbd-notice{padding:14px 18px;border-radius:var(--cbd-radius);margin-bottom:20px;font-size:14px;border:1px solid transparent}
.cbd-notice-success{background:var(--cbd-success-light);border-color:rgba(80,205,137,.3);border-left:4px solid var(--cbd-success);color:var(--cbd-success-ink)}
.cbd-notice-error{background:var(--cbd-coral-light);border-left:4px solid var(--cbd-coral);color:var(--cbd-coral-ink)}
.cbd-notice-info{background:var(--cbd-sky-light);border-left:4px solid var(--cbd-sky);color:#5b21d6}

/* ── Buttons ── */
/* !important on BOTH paint AND structural props. The host theme's reset.css
   (`button:not(:disabled)`) and Elementor kit (`.elementor-kit-6 button`,
   specificity 0,1,1) outrank the plain `.cbd-btn` class (0,1,0) and were
   clobbering display/padding/font-size/cursor/border — so those must be
   !important too, not just the colors. The kit rules carry no !important, so
   this wins regardless of selector specificity, load order, or kit ID. */
.cbd-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:10px 20px!important;border-radius:var(--cbd-radius-sm)!important;font-size:14px!important;font-weight:600!important;font-family:var(--cbd-font-body)!important;cursor:pointer!important;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important;border:1.5px solid transparent!important;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap!important;line-height:1.2!important;text-shadow:none}
.cbd-btn:active{transform:translateY(1px)}
.cbd-btn-primary{background:var(--cbd-primary)!important;color:#fff!important;border-color:var(--cbd-primary)!important;box-shadow:none}
.cbd-btn-primary:hover{background:var(--cbd-primary-mid)!important;border-color:var(--cbd-primary-mid)!important;color:#fff!important}
.cbd-btn-ghost,.cbd-btn-outline{background:#fff!important;color:var(--cbd-navy)!important;border-color:var(--cbd-border-strong)!important}
.cbd-btn-ghost:hover,.cbd-btn-outline:hover{border-color:var(--cbd-primary)!important;color:var(--cbd-primary)!important;background:var(--cbd-primary-light)!important}
.cbd-btn-sm{padding:7px 15px!important;font-size:13px!important}
.cbd-btn-full{width:100%;justify-content:center;border-radius:var(--cbd-radius)!important}

/* ── Forms ── */
.cbd-form{display:flex;flex-direction:column;gap:0}
.cbd-form-section{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--cbd-border)}
.cbd-form-section:last-of-type{border-bottom:none}
.cbd-form-section h3{font-size:16px;font-weight:700;margin:0 0 16px;color:var(--cbd-ink)}
.cbd-form-title{font-size:28px;font-weight:800;margin:0 0 6px}
.cbd-form-sub{color:var(--cbd-ink-soft);margin:0 0 28px}
.cbd-form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.cbd-form-row label{font-size:13px;font-weight:600;color:var(--cbd-ink-soft)}
.cbd-form-row input[type=text],.cbd-form-row input[type=email],.cbd-form-row input[type=tel],.cbd-form-row input[type=url],.cbd-form-row input[type=password],.cbd-form-row input[type=number],.cbd-form-row input[type=date],.cbd-form-row input[type=time],.cbd-form-row input[type=datetime-local],.cbd-form-row select,.cbd-form-row textarea{width:100%;padding:11px 14px;border:1.5px solid var(--cbd-border);border-radius:var(--cbd-radius);font-size:14px;font-family:inherit;color:var(--cbd-ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.cbd-form-row input:focus,.cbd-form-row select:focus,.cbd-form-row textarea:focus{outline:none;border-color:var(--cbd-primary);box-shadow:var(--cbd-ring)}
.cbd-form-row small{font-size:12px;color:var(--cbd-ink-muted)}
.cbd-form-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cbd-form-actions{margin-top:24px;display:flex;flex-direction:column;gap:8px}
.cbd-form-note{font-size:12px;color:var(--cbd-ink-muted);margin:0}
.cbd-form-msg{padding:12px 16px;border-radius:var(--cbd-radius);font-size:14px;margin-top:12px}
.cbd-form-msg.cbd-notice-success{background:var(--cbd-success-light);color:var(--cbd-success-ink)}
.cbd-form-msg.cbd-notice-error{background:var(--cbd-coral-light);color:var(--cbd-coral-ink)}
.req{color:var(--cbd-coral)}

/* ── Form controls (Metronic refinements) ── */
.cbd-form-row input,.cbd-form-row select,.cbd-form-row textarea,.cbd-select{border-color:var(--cbd-border-strong);font-weight:500}
.cbd-form-row input::placeholder,.cbd-form-row textarea::placeholder{color:var(--cbd-ink-muted);font-weight:400}
.cbd-form-row input[type=date],.cbd-form-row input[type=time],.cbd-form-row input[type=datetime-local]{min-height:46px}
/* Custom select chevron */
.cbd-form-row select,.cbd-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a5b7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:16px}
.cbd-form-row select:focus,.cbd-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23009ef7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}
/* Native date/time picker indicator */
.cbd-form-row input[type=date]::-webkit-calendar-picker-indicator,.cbd-form-row input[type=time]::-webkit-calendar-picker-indicator,.cbd-form-row input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .2s}
.cbd-form-row input[type=date]:hover::-webkit-calendar-picker-indicator,.cbd-form-row input[type=time]:hover::-webkit-calendar-picker-indicator,.cbd-form-row input[type=datetime-local]:hover::-webkit-calendar-picker-indicator{opacity:1}
/* File input — styled Metronic file-selector button */
.cbd-form-row input[type=file]{width:100%;padding:7px 12px;border:1.5px solid var(--cbd-border-strong);border-radius:var(--cbd-radius);font-size:13px;color:var(--cbd-ink-soft);background:#fff;cursor:pointer;line-height:1.9;transition:border-color .2s,box-shadow .2s}
.cbd-form-row input[type=file]:focus{outline:none;border-color:var(--cbd-primary);box-shadow:var(--cbd-ring)}
.cbd-form-row input[type=file]:hover{border-color:var(--cbd-primary)}
.cbd-form-row input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:none;background:var(--cbd-surface-2);color:var(--cbd-ink);font-weight:600;font-size:13px;font-family:inherit;cursor:pointer;border-radius:var(--cbd-radius-sm);transition:background .2s,color .2s}
.cbd-form-row input[type=file]:hover::file-selector-button{background:var(--cbd-primary);color:#fff}
/* Textarea — auto-resizes via JS; hide the manual handle */
.cbd-form-row textarea{resize:none;overflow:hidden;min-height:92px;line-height:1.6}
/* Hold the Metronic shape/background against theme form styling */
.cbd-form-row input,.cbd-form-row select,.cbd-form-row textarea,.cbd-select,.cbd-search-input{border-radius:var(--cbd-radius)!important;background-color:#fff;font-family:var(--cbd-font-body)!important}
.cbd-form-row select,.cbd-select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}
/* Emoji trigger anchored in the corner of each form textarea */
.cbd-emoji-field{position:relative}
.cbd-emoji-field textarea{padding-bottom:40px!important}
.cbd-emoji-trigger{
  position: absolute;
    right: 10px;
    bottom: 15px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cbd-border-strong) !important;
    background: #fff !important;
    color: inherit !important;
    border-radius: var(--cbd-radius-sm) !important;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 0 !important;
    opacity: .85;
    box-shadow: none !important;
    transition: background .15s, opacity .15s, border-color .15s;
    z-index: 2
}
.cbd-emoji-trigger:hover{background:var(--cbd-primary-light)!important;border-color:var(--cbd-primary)!important;opacity:1}

/* ── Hours Grid ── */
.cbd-hours-grid{display:flex;flex-direction:column;gap:8px}
.cbd-hours-row{display:flex;align-items:center;gap:12px;font-size:14px}
.cbd-hours-day{display:flex;align-items:center;gap:8px;min-width:120px;font-weight:500}
.cbd-hours-row input[type=time]{padding:6px 10px;border:1.5px solid var(--cbd-border);border-radius:var(--cbd-radius);font-size:13px;width:130px}
.cbd-hours-row span{color:var(--cbd-ink-muted);font-size:13px}

/* ── Search Bar ── */
.cbd-search-bar{
  background:#fff;
  border:1px solid var(--cbd-border);
  border-radius:var(--cbd-radius-lg);
  padding:14px;
  margin-bottom:24px;
  box-shadow:var(--cbd-shadow);
  position: sticky;
  top: 10px;
  left: 0;
  z-index: 10;
  transition: top .3s ease-in-out;
}
.cbd-search-inner{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.cbd-search-field{flex:1;min-width:200px;position:relative}
.cbd-search-input{width:100%;padding-left:30px!important;border:1.5px solid var(--cbd-border);border-radius:var(--cbd-radius);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.cbd-search-input:focus{outline:none;border-color:var(--cbd-primary);box-shadow:var(--cbd-ring)}
.cbd-search-icon{position:absolute;left:10px;top:53%;transform:translateY(-50%);font-size:15px;pointer-events:none;opacity:.7}
.cbd-select{width:20%;padding:11px 40px 11px 14px;border:1.5px solid var(--cbd-border-strong);border-radius:var(--cbd-radius);font-size:14px;font-family:inherit;background-color:#fff;color:var(--cbd-ink);cursor:pointer;transition:border-color .2s}
.cbd-select:focus{outline:none;border-color:var(--cbd-primary);box-shadow:var(--cbd-ring)}
.cbd-autocomplete{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow-lg);z-index:1000;overflow:hidden}
.cbd-ac-item{display:flex;align-items:center;gap:8px;padding:11px 14px;text-decoration:none;color:var(--cbd-ink);font-size:14px;transition:background .15s}
.cbd-ac-item:hover{background:var(--cbd-primary-light);color:var(--cbd-primary)}

/* ── Directory Toolbar ── */
.cbd-dir-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.cbd-results-count{font-size:14px;color:var(--cbd-ink-muted);margin:0;font-weight:500}
.cbd-view-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:var(--cbd-radius-sm);background:var(--cbd-surface-2);border:1px solid var(--cbd-border)}
.cbd-view-btn.cbd-view-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 34px;
  padding: 0;
  border-radius: var(--cbd-radius-sm);
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--cbd-ink-muted);
  transition: all .18s ease
}
.cbd-view-btn:hover {
  color: var(--cbd-primary);
  background: #fff;
}
.cbd-view-btn svg{width:24px;height:24px;display:block}

.cbd-view-btn.active{
  color: #fff;
  background: var(--cbd-primary);
  box-shadow:0 1px 3px rgba(24,28,50,.14)
}

/* ── Listings Grid + Slides stage ── */
.cbd-listings-stage{position:relative}
.cbd-listings.cbd-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.cbd-listings.cbd-view-list{display:flex;flex-direction:column;gap:14px}

/* Bento — fixed 4-column grid; JS places alternating 2×2 hero cards and the
   smaller cards pack densely around them (matches the reference layout). */
.cbd-listings.cbd-view-masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;grid-auto-flow:row dense}
.cbd-view-masonry .cbd-business-card{display:flex;flex-direction:column;margin:0;height:100%;min-height:0}
.cbd-view-masonry .cbd-card-img-wrap{height:auto;flex:1 1 auto;min-height:120px; display: flex; align-items: center; justify-content: center;background: #F9FAFB; border-bottom:1px solid #eee;}
.cbd-view-masonry .cbd-card-img,.cbd-view-masonry .cbd-card-img-placeholder{height:100%}
.cbd-view-masonry .cbd-card-body{flex:0 0 auto}
.cbd-view-masonry .cbd-card-img-wrap img{
  width: 80%;
  height: 80%;
  object-fit: contain;
  object-position: center;
}
/* Small (non-hero) cards stay compact — hide the excerpt, keep the essentials */
.cbd-view-masonry .cbd-business-card:not(.cbd-bento-lg) .cbd-card-excerpt{display:none}
@media(max-width:1024px){.cbd-listings.cbd-view-masonry{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .cbd-listings.cbd-view-masonry{grid-template-columns:1fr;grid-auto-rows:auto!important}
  .cbd-view-masonry .cbd-business-card{height:auto}
  .cbd-view-masonry .cbd-card-img-wrap{min-height:190px}
  .cbd-view-masonry .cbd-business-card:not(.cbd-bento-lg) .cbd-card-excerpt{display:block}
}

/* Slides (carousel) view */
.cbd-listings.cbd-view-slides{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 20px;scroll-padding:0 2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cbd-listings.cbd-view-slides::-webkit-scrollbar{display:none}
.cbd-listings.cbd-view-slides .cbd-business-card{flex:0 0 clamp(260px,82%,340px);scroll-snap-align:start}
.cbd-slide-arrow{position:absolute;top:42%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--cbd-border);box-shadow:var(--cbd-shadow);color:var(--cbd-navy);cursor:pointer;z-index:6;transition:all .18s ease}
.cbd-slide-arrow svg{width:20px;height:20px}
.cbd-slide-arrow:hover{background:var(--cbd-primary);border-color:var(--cbd-primary);color:#fff;box-shadow:var(--cbd-shadow-lg)}
.cbd-slide-arrow[disabled]{opacity:.3;cursor:default;pointer-events:none;box-shadow:none}
.cbd-slide-prev{left:6px}
.cbd-slide-next{right:6px}
.cbd-listings-stage.is-slides .cbd-slide-arrow{display:flex}
/* Hard guarantee: arrows exist in the DOM for the toggle, but never show outside slides view. */
.cbd-listings-stage:not(.is-slides) .cbd-slide-arrow{display:none!important}
.cbd-listings-host{position:relative;box-sizing: border-box;}
/* Infinite-scroll loader + end marker (grid/list load 9 at a time) */
.cbd-dir-loader{display:none;align-items:center;justify-content:center;gap:10px;padding:26px 20px;color:var(--cbd-ink-muted);font-size:14px;font-weight:500}
.cbd-dir-loader.is-active{display:flex}
.cbd-dir-loader .cbd-spinner{margin:0;width:24px;height:24px;border-width:2.5px}
.cbd-dir-end{display:none}
.cbd-dir-end.is-visible{display:block;height:8px}

/* ── Business Card ── */
.cbd-business-card{background:#fff;border-radius:var(--cbd-radius-lg);border:1px solid var(--cbd-border);box-shadow:var(--cbd-shadow);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative}
.cbd-business-card:hover{transform:translateY(-5px);box-shadow:var(--cbd-shadow-lg);border-color:rgba(0,158,247,.4)}
.cbd-business-card.is-featured{border-color:var(--cbd-amber);box-shadow:0 0 0 1px var(--cbd-amber),var(--cbd-shadow)}
.cbd-view-list .cbd-business-card{display:flex;align-items:stretch}
.cbd-card-img-wrap{display:block;position:relative;overflow:hidden}
.cbd-view-grid .cbd-card-img-wrap,.cbd-view-slides .cbd-card-img-wrap{height:190px}
.cbd-view-list .cbd-card-img-wrap{width:210px;flex-shrink:0}
.cbd-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.cbd-business-card:hover .cbd-card-img{transform:scale(1.06)}
.cbd-card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cbd-navy),var(--cbd-primary));font-size:48px;font-weight:800;color:rgba(255,255,255,.92);font-family:var(--cbd-font-head)}
.cbd-card-body{padding:18px;flex:1}
.cbd-card-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--cbd-primary);display:block;margin-bottom:5px}
.cbd-card-title{font-size:18px;font-weight:700;margin:0 0 4px}
.cbd-card-title a{text-decoration:none;color:var(--cbd-ink)}
.cbd-card-title a:hover{color:var(--cbd-primary)}
.cbd-card-location{font-size:13px;color:var(--cbd-ink-muted);margin:0 0 8px;display:flex;align-items: center;gap:5px}
.cbd-card-location span:nth-child(2){
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cbd-card-excerpt{font-size:14px;color:var(--cbd-ink-soft);margin:0 0 12px;line-height:1.55}
.cbd-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--cbd-border);gap:8px;min-height:20px}
.cbd-card-rating{font-size:13px;color:var(--cbd-amber);font-weight:600}
.cbd-card-rating .cbd-stars{color:var(--cbd-amber);letter-spacing:1px}
.cbd-card-rating small{color:var(--cbd-ink-muted);font-weight:500}
.cbd-card-rating-empty{min-height:1px}
.cbd-card-location .cbd-pin{opacity:.8;display: flex; align-items: center;}
.cbd-card-actions{display:flex;gap:6px;align-items:center}
.cbd-card-actions .cbd-btn{
  background: none!important;
  padding: 0!important;
}
/* "Visit ›" text link — screenshot-style card CTA */
.cbd-card-visit{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;font-family:var(--cbd-font-body);color:var(--cbd-primary);text-decoration:none;white-space:nowrap;transition:gap .18s ease,color .18s ease}
.cbd-card-visit svg{width:15px;height:15px;display:block}
.cbd-card-visit:hover{color:var(--cbd-primary-mid);gap:7px}
/* Overlay badges on the card image */
.cbd-badges{position:absolute;top:0px;left:0px;display:flex;flex-wrap:wrap;gap:6px;width: 100%; height: 100%;  z-index:2}
.cbd-badge-cat{
  background:rgba(255,255,255,.92);
  color:var(--cbd-navy);
  backdrop-filter:saturate(140%) blur(2px);
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
  position: absolute;
  left: 10px;
  top: 15px;
}

/* ── Badges ── */
.cbd-badge{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:700;
  padding:4px 11px;
  border-radius:var(--cbd-radius-xs);
  letter-spacing:.02em;
}
.cbd-badge-featured{
  color:var(--cbd-navy);
  font-size: 18px;
  position: absolute;
  padding: 0;
  top: 15px;
  right: 10px;
}
.cbd-badge-free{background:var(--cbd-primary-light);color:#0062a3;position: absolute;top: 12px;right: 12px;}
.cbd-badge-paid{background:var(--cbd-amber-light);color:var(--cbd-amber-ink);position:absolute;top:12px;right:12px;}
.cbd-badge-expiring{background:var(--cbd-coral-light);color:var(--cbd-coral-ink);margin-bottom: 10px;}
.cbd-badge-new{background:var(--cbd-sky);color:var(--cbd-navy);position: absolute;top: 12px;right: 12px;}

/* ── Events ── */
.cbd-events-toolbar,.cbd-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}
.cbd-section-header h2{font-size:26px;font-weight:800;margin:0}
.cbd-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.cbd-event-card{background:#fff;border-radius:var(--cbd-radius-lg);border:1px solid var(--cbd-border);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative}
.cbd-event-card:hover{transform:translateY(-5px);box-shadow:var(--cbd-shadow-lg);border-color:rgba(0,158,247,.4)}
.cbd-event-img-wrap{display:block;height:200px;overflow:hidden}
.cbd-event-img{width:100%;height:100%;object-fit:cover;display:block}
.cbd-event-img-ph{width:100%;height:200px;background:linear-gradient(135deg,var(--cbd-navy) 0%,var(--cbd-primary) 55%,var(--cbd-teal) 100%)}
.cbd-event-date-badge{position:absolute;top:12px;left:12px;background:#fff;border-radius:var(--cbd-radius-xs);padding:7px 11px;text-align:center;box-shadow:var(--cbd-shadow);line-height:1.2}
.cbd-event-month{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--cbd-primary)}
.cbd-event-day{display:block;font-size:22px;font-weight:800;color:var(--cbd-navy);font-family:var(--cbd-font-head)}
.cbd-event-body{padding:18px}
.cbd-event-title{font-size:18px;font-weight:700;margin:8px 0 6px}
.cbd-event-title a{text-decoration:none;color:var(--cbd-ink)}
.cbd-event-title a:hover{color:var(--cbd-primary)}
.cbd-event-meta,.cbd-event-venue{font-size:13px;color:var(--cbd-ink-muted);margin:0 0 6px;}
.cbd-event-excerpt{font-size:14px;color:var(--cbd-ink-soft);margin:0 0 12px;line-height:1.55}
.cbd-event-footer{display:flex;gap:8px}

.cbd-event-footer a:nth-child(1){
  border: 1px solid var(--cbd-coral-ink);
}
.cbd-event-footer a:nth-child(1):hover{
  color: #fff;
  background: var(--cbd-primary);
  border-color: var(--cbd-primary);
}

.cbd-event-meta,
.cbd-event-venue {
  display: flex;
  align-items: center;
  gap: 2px;
}

.cbd-event-meta span:nth-child(1){
  color: var(--cbd-success-ink);
  padding: 2px;
}
.cbd-event-meta span:nth-child(1),
.cbd-event-venue span:nth-child(1){
  width: 20px!important;
  height: 20px!important;
}

.cbd-event-venue span:nth-child(2){
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* ── Promotions ── */
.cbd-promos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.cbd-promo-card{background:#fff;border-radius:var(--cbd-radius-lg);border:1px solid var(--cbd-border);padding:24px;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;flex: 1;
  display: flex;
  flex-direction: column;}
.cbd-promo-card:hover{transform:translateY(-4px);box-shadow:var(--cbd-shadow-lg)}
.cbd-promo-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--cbd-primary),var(--cbd-teal))}
.cbd-promo-card.is-expiring::before{background:linear-gradient(90deg,var(--cbd-coral),var(--cbd-amber))}
.cbd-promo-discount{font-size:38px;font-weight:800;color:var(--cbd-primary);line-height:1;margin-bottom:8px}
.cbd-promo-card.is-expiring .cbd-promo-discount{color:var(--cbd-coral)}
.cbd-promo-discount span{font-size:14px;font-weight:600;color:var(--cbd-ink-muted)}
.cbd-promo-title{font-size:17px;font-weight:700;margin:0 0 8px}
.cbd-promo-title a{color:inherit;text-decoration:none;transition:color .2s ease}
.cbd-promo-title a:hover{color:var(--cbd-primary);text-decoration:underline}
/* Card business credit — "Posted by <business>" on event & promo cards */
.cbd-card-biz{display:inline-flex;align-items:center;gap:2px;margin:0 0 12px;text-decoration:none;max-width:100%;}
.cbd-event-card .cbd-card-biz{position: absolute;top: 160px;left: 12px;}
.cbd-event-card .cbd-card-biz img {
  border-radius: 3px;
}
.cbd-card-biz-logo{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--cbd-border)}
.cbd-card-biz-logo-ph{display:flex;align-items:center;justify-content:center;background:var(--cbd-surface-2);color:var(--cbd-primary);font-weight:700;font-size:13px}
.cbd-card-biz-text{display:flex;flex-direction:column;line-height:1.25;min-width:0;background: rgba(0, 0, 0, 0.75);
  border-radius: 3px;
  padding: 0 8px;}
.cbd-card-biz-by{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--cbd-sky-light)}
.cbd-card-biz-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbd-card-biz:hover .cbd-card-biz-name{color:var(--cbd-primary)}
.cbd-promo-desc{font-size:14px;color:var(--cbd-ink-soft);margin:0 0 14px;line-height:1.55}
.cbd-promo-code-wrap{display:flex;align-items:center;gap:8px;margin-bottom:30px}
.cbd-promo-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:700;background:var(--cbd-surface-2);padding:6px 12px;border-radius:var(--cbd-radius);border:1px dashed var(--cbd-border-strong);letter-spacing:.08em;color:var(--cbd-navy)}
.cbd-copy-code{background:none;border:1px solid var(--cbd-border-strong);border-radius:var(--cbd-radius);padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--cbd-ink-soft)}
.cbd-copy-code:hover{background:var(--cbd-primary-light);border-color:var(--cbd-primary);color:var(--cbd-primary)}
.cbd-promo-expiry{font-size:12px;color:var(--cbd-coral);font-weight:600;}
/* "No expiry" — neutral/positive (the offer is always available), not alarming red */
.cbd-promo-expiry-none{color:var(--cbd-ink-muted)}
.cbd-promo-expiry-none::first-letter{font-size:14px;font-weight:700}


.cbd-promo-card .cbd-card-biz{
  margin-top: 20px;
  margin-bottom: 0;
  width: 100%;
  align-self:flex-end;
}
.cbd-promo-card .cbd-card-biz img{
  border-radius: 3px;
}
.cbd-promo-card .cbd-card-biz-text {
  background: none;
}
.cbd-promo-card .cbd-card-biz-by {
  color: var(--cbd-ink)
}

.cbd-promo-card .cbd-card-biz-name {
  color: var(--cbd-ink-soft)
}

.cbd-promo-detail .cbd-card-biz img{
  border-radius: 3px;
}
.cbd-promo-detail .cbd-card-biz-text{
  background: none;
}
.cbd-promo-detail .cbd-card-biz-by{
  color: var(--cbd-ink-soft);
}
.cbd-promo-detail .cbd-card-biz-name{
  color: var(--cbd-ink);
}
.cbd-promo-detail .cbd-promo-expiry {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Event detail header — "Posted by <business>" credit above the title */
.cbd-event-detail .cbd-profile-headline .cbd-card-biz{position:static;margin:0 0 6px}
.cbd-event-detail .cbd-profile-headline .cbd-card-biz-text{background:none;border-radius:0;padding:0 0 0 2px}
.cbd-event-detail .cbd-profile-headline .cbd-card-biz-by{color:var(--cbd-ink-muted)}
.cbd-event-detail .cbd-profile-headline .cbd-card-biz-name{color:var(--cbd-ink)}
.cbd-event-detail .cbd-profile-headline .cbd-card-biz:hover .cbd-card-biz-name{color:var(--cbd-primary)}

/* ── Reviews ── */
.cbd-reviews-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.cbd-review-item{background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);padding:20px}
.cbd-review-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.cbd-review-header .cbd-provider-badge{margin-left:auto;margin-top:0;flex-shrink:0}
.cbd-review-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--cbd-primary),var(--cbd-teal));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;font-family:var(--cbd-font-head)}
.cbd-stars{color:var(--cbd-amber);font-size:14px;margin:2px 0;letter-spacing:.06em}
.cbd-review-response{background:var(--cbd-surface-2);border-radius:var(--cbd-radius);padding:13px;margin-top:10px;border-left:3px solid var(--cbd-primary)}
.cbd-review-response strong{font-size:12px;color:var(--cbd-ink-muted)}
.cbd-review-form-wrap{border-top:1px solid var(--cbd-border);padding-top:24px;margin-top:24px}
.cbd-review-form-wrap h4{font-size:18px;font-weight:700;margin:0 0 16px}
.cbd-review-form-wrap .cbd-form-row textarea{
  width: 100%;
}
.cbd-star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.cbd-star-picker input{display:none}
.cbd-star-picker label{font-size:30px;color:#d4dde2;cursor:pointer;transition:color .15s,transform .12s}
.cbd-star-picker label:hover{transform:scale(1.12)}
.cbd-star-picker input:checked~label,.cbd-star-picker label:hover,.cbd-star-picker label:hover~label{color:var(--cbd-amber)}
.cbd-no-reviews{color:var(--cbd-ink-muted);font-style:italic}
.cbd-review-status{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:var(--cbd-radius-sm);display:inline-block}
.cbd-status-pending{background:var(--cbd-amber-light);color:var(--cbd-amber-ink)}
.cbd-status-approved{background:var(--cbd-success-light);color:var(--cbd-success-ink)}
.cbd-status-rejected{background:var(--cbd-coral-light);color:var(--cbd-coral-ink)}

/* ── Dashboard ── */
.cbd-dashboard-layout{display:grid;grid-template-columns:248px 1fr;gap:0;min-height:520px;border-radius:var(--cbd-radius-lg);border:1px solid var(--cbd-border);overflow:hidden;background:#fff;box-shadow:var(--cbd-shadow)}
.cbd-dashboard-sidebar{background:var(--cbd-navy);padding:0;background-image:radial-gradient(120% 80% at 0% 0%,rgba(41,171,225,.16),transparent 60%)}
.cbd-dash-brand{padding:24px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}
.cbd-dash-brand strong{display:block;color:#fff;font-size:16px;margin-bottom:4px;font-family:var(--cbd-font-head)}
.cbd-dash-plan{font-size:11px;color:var(--cbd-amber);font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.cbd-dash-nav{padding:8px 12px}
.cbd-dash-nav-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;color:rgba(255,255,255,.66);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;margin-bottom:2px}
.cbd-dash-nav-item:hover{background:rgba(255,255,255,.09);color:#fff}
.cbd-dash-nav-item.active{background:var(--cbd-primary);color:#fff;box-shadow:0 4px 14px rgba(0,158,247,.4)}
.cbd-dashboard-main{padding:30px;background:var(--cbd-surface)}
.cbd-dashboard-main h2{font-size:23px;font-weight:800;margin:0 0 20px}
.cbd-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.cbd-dash-stat{background:#fff;border-radius:var(--cbd-radius);padding:18px;border:1px solid var(--cbd-border);transition:transform .2s,box-shadow .2s}
.cbd-dash-stat:hover{transform:translateY(-3px);box-shadow:var(--cbd-shadow)}
.cbd-dash-stat-val{font-size:28px;font-weight:800;color:var(--cbd-navy)}
.cbd-dash-stat-label{font-size:12px;color:var(--cbd-ink-muted);margin-top:4px;font-weight:500}
.cbd-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cbd-quick-card{background:#fff;border:1.5px solid var(--cbd-border);border-radius:var(--cbd-radius);padding:15px;text-decoration:none;color:var(--cbd-ink);font-size:14px;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:8px}
.cbd-quick-card:hover{border-color:var(--cbd-primary);color:var(--cbd-primary);background:var(--cbd-primary-light);transform:translateY(-2px)}
.cbd-dash-quick-actions h3{font-size:16px;font-weight:700;margin:0}
.cbd-dash-table{width:100%;border-collapse:collapse;margin-top:16px;background:#fff;border-radius:var(--cbd-radius);overflow:hidden;border:1px solid var(--cbd-border)}
.cbd-dash-table th{padding:11px 14px;font-size:12px;font-weight:700;color:var(--cbd-ink-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--cbd-surface-2);border-bottom:1px solid var(--cbd-border);text-align:left}
.cbd-dash-table td{padding:11px 14px;font-size:14px;border-bottom:1px solid var(--cbd-border)}
.cbd-dash-table tr:last-child td{border-bottom:none}

/* ── Modal ── */
.cbd-modal-wrap{position:fixed;inset:0;background:rgba(24,28,50,.55);backdrop-filter:blur(3px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.cbd-modal{background:#fff;border-radius:var(--cbd-radius-lg);padding:32px;max-width:600px;width:100%;position:relative;max-height:90vh;overflow-y:auto;box-shadow:var(--cbd-shadow-lg)}
.cbd-modal h3{font-size:20px;font-weight:800;margin:0 0 20px}
.cbd-modal-close.cbd-modal-close{position:absolute;top:16px;right:16px;background:var(--cbd-surface-2);border:none;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--cbd-ink-muted);line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}
.cbd-modal-close:hover{background:var(--cbd-coral-light);color:var(--cbd-coral)}
body.cbd-modal-open{overflow:hidden}

/* ── "Load more" (featured / events / promotions / activity / feed) ── */
.cbd-lm-foot{display:flex;justify-content:center;margin-top:28px}
.cbd-lm-btn{min-width:160px;justify-content:center}
.cbd-lm-btn[disabled]{opacity:.7;cursor:default}

/* ── Empty State ── */
.cbd-empty-state{text-align:center;padding:60px 20px}
.cbd-empty-icon{font-size:48px;display:block;margin-bottom:16px;opacity:.85}
.cbd-empty-state h3{font-size:20px;font-weight:700;margin:0 0 8px}
.cbd-empty-state p{color:var(--cbd-ink-muted);margin:0 0 20px}

/* ── Pagination ── */
.cbd-pagination{display:flex;gap:6px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.cbd-pagination a,.cbd-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:var(--cbd-radius);border:1.5px solid var(--cbd-border);background:#fff;color:var(--cbd-ink);text-decoration:none;font-size:14px;font-weight:600;transition:all .2s}
.cbd-pagination .current{background:var(--cbd-primary);color:#fff;border-color:var(--cbd-primary)}
.cbd-pagination a:hover{border-color:var(--cbd-primary);color:var(--cbd-primary)}

#cbd-dir-loadmore-btn,
.cbd-lm-foot .cbd-lm-btn{
  color: #fff!important;
  background: var(--cbd-primary)!important;
}
.cbd-login-submit{
  color: #fff !important;
  background: var(--cbd-primary) !important;
  border-color: var(--cbd-primary)!important;
  margin-top: 15px;
}

/* ── Responsive ── */
@media(max-width:900px){
  .cbd-dashboard-layout{grid-template-columns:1fr}
  .cbd-dashboard-sidebar{display:none}
  .cbd-dash-stats{grid-template-columns:1fr 1fr}
  .cbd-form-cols{grid-template-columns:1fr}
  .cbd-search-inner{flex-direction:column}
  .cbd-search-inner>*{width:100%}
  .cbd-view-list .cbd-business-card{flex-direction:column}
  .cbd-view-list .cbd-card-img-wrap{width:100%;height:190px}
}
@media(max-width:600px){
  .cbd-events-grid,.cbd-promos-grid,.cbd-listings.cbd-view-grid{grid-template-columns:1fr}
  .cbd-dash-stats{grid-template-columns:1fr}
  .cbd-quick-grid{grid-template-columns:1fr}
  .cbd-slide-arrow{display:none!important}
  .cbd-listings.cbd-view-slides .cbd-business-card{flex-basis:86%}
}

/* ── Business Profile ────────────────────────────────────── */
.cbd-profile-wrap{max-width:1200px;margin:0 auto;padding:0 0 60px;font-family:var(--cbd-font-body);color:var(--cbd-ink);-webkit-font-smoothing:antialiased}
.cbd-profile-cover{
  max-width: 1200px;
  height: 320px;
  margin: 0 auto;
  margin-top: 20px;
  background: linear-gradient(135deg, var(--cbd-navy) 0%, var(--cbd-primary) 55%, var(--cbd-teal) 100%);
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  position: relative
}
.cbd-profile-cover-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(24, 28, 50, .05) 30%, rgba(24, 28, 50, .55));
  border-radius: 10px;
}

.cbd-profile-business-category{
  display: flex;
  align-items: center;
  gap: 20px;

  position: absolute;
  left: 0;
  bottom: 0;
  padding: 15px 24px;
}
/* Current-plan badge on the cover */
.cbd-cover-plan{z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:40px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:rgba(24,28,50,.55);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(24,28,50,.2)}
.cbd-cover-plan.cbd-plan-tier-basic{background:rgba(0,158,247,.92)}
.cbd-cover-plan.cbd-plan-tier-premium{background:linear-gradient(135deg,#ffc700,#f5901f);color:#3a2a00;border-color:rgba(255,255,255,.45)}
.cbd-cover-plan.cbd-plan-tier-elite{background:linear-gradient(135deg,#7239ea,#4b1fa6)}
@media(max-width:600px){.cbd-cover-plan{top:12px;right:12px;font-size:11px;padding:6px 11px}}
a.cbd-cover-plan-link{text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
a.cbd-cover-plan-link:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(24,28,50,.3);color:#fff}
a.cbd-cover-plan-link.cbd-plan-tier-premium:hover{color:#3a2a00}
.cbd-profile-header-wrap{
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--cbd-border);
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 10px;
}
.cbd-profile-header{width:100%;padding:24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cbd-profile-logo-wrap{position:relative;flex-shrink:0}
.cbd-profile-logo{width:96px;height:96px;border-radius:18px;border:3px solid #fff;box-shadow:var(--cbd-shadow-lg);object-fit:cover;display:block}
.cbd-profile-logo-ph{width:96px;height:96px;border-radius:18px;border:3px solid #fff;background:linear-gradient(135deg,var(--cbd-navy),var(--cbd-primary));display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:#fff;box-shadow:var(--cbd-shadow-lg);font-family:var(--cbd-font-head)}
.cbd-verified-badge{position:absolute;bottom:-4px;right:-4px;background:var(--cbd-sky);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid #fff}
.cbd-profile-headline{flex:1;min-width:200px;}
.cbd-profile-name{font-size:clamp(22px,3vw,32px);font-weight:800;margin:0;margin-top:10px; line-height:1.1}
.cbd-profile-cats{display:flex;gap:6px;flex-wrap:wrap;}
.cbd-profile-cat-tag{background:var(--cbd-primary-light);color:var(--cbd-primary);font-size:12px;font-weight:600;padding:4px 11px;border-radius:var(--cbd-radius-sm);text-decoration:none;transition:all .2s}
.cbd-profile-cat-tag:hover{background:var(--cbd-primary);color:#fff}
.cbd-profile-location{font-size:14px;color:var(--cbd-ink-muted);margin-top:10px;display: flex;align-items: center;gap: 5px;}
.cbd-profile-location span:nth-child(1){
  display: flex;
  align-items: center;
}
.cbd-profile-rating{display:flex;align-items:center;gap:6px;font-size:14px}
.cbd-profile-actions{display:flex;align-self:flex-end;gap:8px;flex-wrap:wrap;}
.cbd-profile-followers{font-size:13px;color:var(--cbd-ink-muted);padding-left:4px;display: flex;align-items: center;gap: 5px;}
.cbd-profile-followers strong{color:var(--cbd-ink)}

/* Tabs */
.cbd-profile-tabs-wrap{background:#fff;border-bottom:1px solid var(--cbd-border);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}
.cbd-profile-tabs{margin:0;padding:0 4px;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;max-width:1140px}
.cbd-profile-tabs::-webkit-scrollbar{display:none}
.cbd-profile-tab{padding:15px 20px;font-size:14px;font-weight:600;color:var(--cbd-ink-muted);text-decoration:none;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}
.cbd-profile-tab:hover{color:var(--cbd-ink)}
.cbd-profile-tab.active{color:var(--cbd-primary);border-bottom-color:var(--cbd-primary)}

/* Profile settings menu (owner / delegate) */
.cbd-profile-settings{position:relative;flex:0 0 auto}
.cbd-settings-toggle{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 3px;
  border: 1px solid var(--cbd-border-strong) !important;
  background: #fff !important;
  color: var(--cbd-ink-soft) !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: transform .25s ease, color .18s, border-color .18s, background .18s}
.cbd-settings-toggle:hover{
  background: var(--cbd-primary) !important;
  border-color: var(--cbd-primary) !important;
  color: #fff !important;
  transform: rotate(360deg)}
.cbd-settings-toggle svg{width:20px;height:20px}
.cbd-settings-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:194px;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow-lg);padding:6px;display:none;flex-direction:column;z-index:60}
.cbd-profile-settings.is-open .cbd-settings-menu{display:flex}
.cbd-settings-item{display:flex;align-items:center;gap:9px;padding:10px 12px;border:none;background:none;text-align:left;font-size:14px;font-weight:600;color:var(--cbd-ink)!important;border-radius:var(--cbd-radius-sm);cursor:pointer;text-decoration:none!important;font-family:var(--cbd-font-body);width:100%}
.cbd-settings-item:hover{background:var(--cbd-primary-light)!important;color:var(--cbd-primary)!important}
.cbd-settings-item svg{width:18px;height:18px;flex:0 0 auto;fill:currentColor}
.cbd-settings-item.is-active{background:var(--cbd-primary-light)!important;color:var(--cbd-primary)!important}
.cbd-settings-toggle.active{background:var(--cbd-primary)!important;border-color:var(--cbd-primary)!important;color:#fff!important;transform:rotate(45deg)}
.cbd-settings-logout{border-top:1px solid var(--cbd-border);margin-top:4px;color:var(--cbd-coral-ink)!important}
.cbd-settings-logout:hover{background:var(--cbd-coral-light)!important;color:var(--cbd-coral-ink)!important}

/* Section header with an action button (gallery / events / promotions) */
.cbd-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.cbd-section-head h2{margin:0;border:none;padding:0}

/* Analytics modal */
.cbd-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:8px}
.cbd-stat{background:var(--cbd-surface);border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);padding:18px 14px;text-align:center}
.cbd-stat-num{display:block;font-size:26px;font-weight:800;font-family:var(--cbd-font-head);color:var(--cbd-navy);line-height:1.1}
.cbd-stat-lbl{display:block;font-size:12px;color:var(--cbd-ink-muted);margin-top:4px}

/* Delegate access modal */
.cbd-modal-sub{font-size:13px;color:var(--cbd-ink-muted);margin:-4px 0 16px}
.cbd-delegate-add{flex-direction:row!important;gap:8px;align-items:stretch}
.cbd-delegate-add input{flex:1}
.cbd-delegate-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.cbd-delegate-row{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--cbd-surface);border:1px solid var(--cbd-border);border-radius:var(--cbd-radius)}
.cbd-delegate-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cbd-delegate-person{display:flex;align-items:center;gap:10px;min-width:0}
.cbd-delegate-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.cbd-delegate-id{display:flex;flex-direction:column;line-height:1.3}
.cbd-delegate-id small{color:var(--cbd-ink-muted);font-size:12px}
.cbd-delegate-empty{font-size:13px;color:var(--cbd-ink-muted);margin:14px 0 0}
/* Per-delegate permission toggles (owner-only Delegate Access tab) */
.cbd-delegate-perms{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:10px;border-top:1px solid var(--cbd-border)}
.cbd-delegate-perms-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cbd-ink-muted);width:100%}
.cbd-delegate-perm{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--cbd-ink-soft);cursor:pointer}
.cbd-delegate-perm input{margin:0;width:16px;height:16px;cursor:pointer;flex:0 0 auto}
.cbd-section-intro{font-size:14px;color:var(--cbd-ink-muted);margin:0 0 16px;line-height:1.6}
/* Pending invitations */
.cbd-delegate-invites{margin-top:20px}
.cbd-delegate-subhead{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cbd-ink-muted);margin:0 0 8px}
.cbd-delegate-invite{border-style:dashed}
.cbd-delegate-invite-actions{display:inline-flex;gap:6px;flex:0 0 auto}

/* News-feed "Read More" inline expand */
.cbd-feed-full{display:none;font-size:14px;line-height:1.7;color:var(--cbd-ink-soft);margin:0 0 12px}
.cbd-feed-full p{margin:0 0 10px}
.cbd-feed-item.cbd-expanded .cbd-feed-excerpt{display:none}
.cbd-feed-item.cbd-expanded .cbd-feed-full{display:block}

/* Analytics modal tweaks (reuses dashboard stat/table styles) */
.cbd-modal-wide{max-width:680px}
.cbd-modal .cbd-dash-stats{grid-template-columns:repeat(2,1fr);margin-bottom:0}
.cbd-modal .cbd-dash-stat{background:var(--cbd-surface)}
.cbd-upgrade-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cbd-hours-empty{color:var(--cbd-ink-muted);font-size:14px;margin:0}

/* Profile body */
.cbd-profile-body{max-width:1200px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start}
.cbd-profile-body .cbd-card-biz{
  display: none;
}
.cbd-profile-tagline{
  font-family: var(--cbd-font-head);
  font-size: clamp(17px, 2.2vw, 21px);
  font-weight: 600;
  line-height: 1.45;
  color: var(--cbd-ink);
  margin: 0 0 24px;
  padding-left: 16px;
  border-left: 3px solid var(--cbd-amber);
}
.cbd-profile-section{margin-bottom:32px}
.cbd-profile-section h2{font-size:20px;font-weight:800;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--cbd-border)}
.cbd-profile-section h3{font-size:17px;font-weight:700;margin:0 0 12px}
.cbd-profile-description{font-size:15px;line-height:1.8;color:var(--cbd-ink-soft)}
.cbd-profile-section .cbd-feed-bizcard{
  display: none;
}
/* Hours */
.cbd-hours-table{display:flex;flex-direction:column;gap:4px}
.cbd-hours-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;font-size:14px}
.cbd-hours-row.today{background:var(--cbd-primary-light);font-weight:600}
.cbd-hours-day{min-width:100px;color:var(--cbd-ink-soft)}
.cbd-hours-time{flex:1}
.cbd-hours-today-badge{font-size:11px;background:var(--cbd-primary);color:#fff!important;padding:2px 9px;border-radius:var(--cbd-radius-sm);font-weight:700}

/* Sidebar */
.cbd-profile-sidebar{display:flex;flex-direction:column;gap:16px}
.cbd-sidebar-card{background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);padding:20px;box-shadow:var(--cbd-shadow)}
.cbd-sidebar-card h4{font-size:13px;font-weight:700;color:var(--cbd-ink-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--cbd-border)}
.cbd-sidebar-card p{
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 0;
}
.cbd-sidebar-card p,.cbd-sidebar-card address{font-size:14px;color:var(--cbd-ink-soft);margin:0 0 6px;font-style:normal;line-height:1.6}
.cbd-sidebar-card a{color:var(--cbd-ink-soft);text-decoration:none}
.cbd-sidebar-card a:hover{color:var(--cbd-primary)}
.cbd-inline-map{height:200px;border-radius:var(--cbd-radius);margin-top:10px;overflow:hidden}
.cbd-social-links{display:flex;flex-direction:column;gap:6px}
.cbd-social-link{font-size:13px;font-weight:500;color:var(--cbd-ink-soft);text-decoration:none;padding:7px 0;display:block;border-bottom:1px solid var(--cbd-border)}
.cbd-social-link:last-child{border-bottom:none}
.cbd-social-link:hover{color:var(--cbd-primary)}
.cbd-share-btns{display:flex;flex-wrap:wrap;gap:6px}
.cbd-share-btn.cbd-share-btn{background:var(--cbd-surface-2);border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;color:var(--cbd-ink-soft);transition:all .2s}
.cbd-share-btn:hover{background:var(--cbd-primary-light);color:var(--cbd-primary);border-color:var(--cbd-primary)}

/* Hero date (event detail) */
.cbd-event-hero-date{background:var(--cbd-primary);color:#fff;border-radius:var(--cbd-radius-lg);padding:12px 18px;text-align:center;flex-shrink:0;box-shadow:var(--cbd-shadow-lg)}
.cbd-event-hero-date .cbd-event-month{font-size:14px;font-weight:700;text-transform:uppercase;display:block;opacity:.85;color:#fff}
.cbd-event-hero-date .cbd-event-day{font-size:44px;font-weight:800;display:block;line-height:1;color:#fff}

/* Promo hero */
.cbd-promo-hero-discount{flex-shrink:0;background:linear-gradient(135deg,var(--cbd-primary),var(--cbd-teal));color:#fff;border-radius:var(--cbd-radius-lg);padding:16px 20px;text-align:center;box-shadow:var(--cbd-shadow-lg)}
.cbd-promo-big-val{font-size:48px;font-weight:800;display:block;line-height:1;font-family:var(--cbd-font-head)}

/* Activity feed */
.cbd-activity-list{display:flex;flex-direction:column;gap:0}
.cbd-activity-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--cbd-border);align-items:flex-start}
.cbd-activity-item:last-child{border-bottom:none}
.cbd-activity-thumb{flex-shrink:0;width:64px;height:64px}
.cbd-activity-img{width:64px;height:64px;border-radius:12px;object-fit:cover;display:block}
.cbd-activity-img-ph{width:64px;height:64px;border-radius:12px;background:var(--cbd-surface-2);display:flex;align-items:center;justify-content:center;font-size:24px}
.cbd-activity-body{flex:1}
.cbd-activity-type{font-size:11px;font-weight:700;color:var(--cbd-primary);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:4px}
.cbd-activity-title{font-size:15px;font-weight:700;margin:0 0 4px}
.cbd-activity-title a{text-decoration:none;color:var(--cbd-ink)}
.cbd-activity-title a:hover{color:var(--cbd-primary)}
.cbd-activity-excerpt{font-size:13px;color:var(--cbd-ink-muted);margin:0 0 4px;line-height:1.5}
.cbd-activity-time{font-size:12px;color:var(--cbd-ink-muted)}

/* Business Feed */
.cbd-feed-list{display:flex;flex-direction:column;gap:24px}
/* Base card look — also used standalone by the dashboard "Your Posts" list. */
.cbd-feed-item{background:#fff;border-radius:var(--cbd-radius-lg);border:1px solid var(--cbd-border);overflow:hidden;display:flex;gap:0;transition:box-shadow .3s,border-color .3s}
.cbd-feed-item:hover{box-shadow:var(--cbd-shadow-lg);border-color:rgba(0,158,247,.4)}
.cbd-feed-img-wrap{flex-shrink:0;width:210px;overflow:hidden}
.cbd-feed-img{width:210px;height:150px;object-fit:cover;display:block}
.cbd-feed-item .cbd-feed-img{
  display: none;
}

/* In the [cbd_business_feed] stream each item splits into a business "profile
   card" (left) beside the post card (right) — both are standalone cards, so the
   wrapper itself is transparent. */
.cbd-feed-list .cbd-feed-item{background:transparent;border:none;border-radius:0;overflow:visible;align-items:stretch;gap:24px}
.cbd-feed-list .cbd-feed-item:hover{box-shadow:none}

/* Left: business profile card */
.cbd-feed-bizcard{flex:0 0 260px;width:260px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.cbd-feed-bizcard:hover{box-shadow:var(--cbd-shadow-lg);border-color:rgba(0,158,247,.4)}
.cbd-feed-bizcard-media{position:relative;display:flex;align-items: center;justify-content: center; min-height:120px!important;background:var(--cbd-surface-2);overflow: hidden;}
.cbd-feed-bizcard-media img{width:100px;height:100px!important;object-fit:contain;object-position: center; display:block}
.cbd-feed-bizcard-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:52px;font-weight:800;color:var(--cbd-primary);background:var(--cbd-primary-light)}
.cbd-feed-bizcard-tag{position:absolute;top:10px;left:10px;background:#fff;color:var(--cbd-navy);font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;box-shadow:var(--cbd-shadow);max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbd-feed-bizcard-info{padding:16px;flex:1 1 auto;display:flex;flex-direction:column}
.cbd-feed-bizcard-cat{font-size:11px;font-weight:700;color:var(--cbd-primary);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:5px;}
.cbd-feed-bizcard-name{font-size:17px;font-weight:800;margin:0 0 7px;line-height:1.25}
.cbd-feed-bizcard-name a{text-decoration:none;color:var(--cbd-ink)}
.cbd-feed-bizcard-name a:hover{color:var(--cbd-primary)}
.cbd-feed-bizcard-loc{font-size:13px;color:var(--cbd-ink-soft);margin:0 0 13px;display:flex;align-items:center;gap:4px;}
.cbd-feed-bizcard-loc .cbd-pin{
  display: flex;
  align-items: center;
}
.cbd-feed-bizcard-loc span:nth-child(2) {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cbd-feed-bizcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:13px;border-top:1px solid var(--cbd-border);flex-wrap:wrap}
.cbd-feed-bizcard-actions{display:flex;align-items:center;gap:6px}

/* Right: post card — column layout so the reactions bar can pin to the bottom */
.cbd-feed-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);transition:box-shadow .3s,border-color .3s}
.cbd-feed-main:hover{box-shadow:var(--cbd-shadow-lg);border-color:rgba(0,158,247,.4)}
.cbd-feed-main .cbd-reactions{margin-top:auto}
.cbd-feed-body{padding:20px;flex:1}
.cbd-feed-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cbd-feed-type{font-size:11px;font-weight:700;color:var(--cbd-primary);text-transform:uppercase;letter-spacing:.07em}
.cbd-feed-time{font-size:12px;color:var(--cbd-ink-muted)}
.cbd-feed-title{font-size:18px;font-weight:700;margin:0 0 8px;line-height:1.25}
.cbd-feed-title a{text-decoration:none;color:var(--cbd-ink)}
.cbd-feed-title a:hover{color:var(--cbd-primary)}
.cbd-feed-excerpt{font-size:14px;color:var(--cbd-ink-soft);margin:0 0 12px;line-height:1.55}
/* Feed byline — avatar on the left, name + verb stacked over the timestamp */
.cbd-feed-byline{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.cbd-feed-avatar{flex-shrink:0;display:block;text-decoration:none;line-height:0}
.cbd-feed-byline-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.cbd-feed-byline-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cbd-feed-byline .cbd-feed-type{margin-left:auto;align-self:flex-start}
.cbd-feed-avatar .cbd-feed-biz-logo{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0;border:1px solid var(--cbd-border)}
.cbd-feed-biz-ph{display:inline-flex;align-items:center;justify-content:center;background:var(--cbd-primary-light);color:var(--cbd-primary);font-weight:800;font-size:16px;text-transform:uppercase}
.cbd-feed-biz-name{font-size:14px;font-weight:700;color:var(--cbd-navy);text-decoration:none}
.cbd-feed-biz-name:hover{color:var(--cbd-primary)}
.cbd-feed-verb{font-size:13px;color:var(--cbd-ink-muted)}
/* Modal header — avatar on the left, name on top, verb + type beneath */
.cbd-feed-modal-id{display:flex;align-items:flex-start;gap:10px}
.cbd-feed-modal-id .cbd-feed-biz-logo{width:40px;height:40px}
.cbd-feed-modal-id-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.cbd-feed-modal-id-name{font-size:15px;font-weight:800;color:var(--cbd-navy);line-height:1.2}
.cbd-feed-modal-id-sub{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--cbd-ink-muted)}
.cbd-feed-modal-title{font-size:23px;font-weight:800;line-height:1.25;margin:0 0 16px}
.cbd-feed-modal-media{margin:0 0 18px}
.cbd-feed-modal-media img{width:100%;border-radius:var(--cbd-radius);display:block}
.cbd-feed-modal-content{font-size:15px;line-height:1.7;color:var(--cbd-ink-soft)}
.cbd-feed-modal-content p{margin:0 0 12px}
.cbd-feed-modal-content img{max-width:100%;height:auto;border-radius:var(--cbd-radius)}
.cbd-feed-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--cbd-border);flex-wrap:wrap}
.cbd-feed-modal-react{flex:1;min-width:200px}
.cbd-feed-modal-react .cbd-reactions{margin-top:0;padding-top:0;border-top:none}
.cbd-feed-modal-visit{flex-shrink:0}
/* Event/Promotion structured details, prepended into the feed modal content. */
.cbd-feed-details{margin:0 0 18px;padding:16px 18px;background:var(--cbd-surface-2,#f8f9fb);border:1px solid var(--cbd-border,#eef0f3);border-radius:12px}
.cbd-feed-details-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cbd-ink-muted,#a1a5b7);margin-bottom:12px}
.cbd-feed-details-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.cbd-feed-detail{display:flex;align-items:flex-start;gap:12px}
.cbd-feed-detail-ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid var(--cbd-border,#eef0f3);display:flex;align-items:center;justify-content:center;color:var(--cbd-primary,#009ef7)}
.cbd-feed-detail-ic .cbd-icon{width:18px;height:18px}
.cbd-feed-detail-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.cbd-feed-detail-label{font-size:11.5px;font-weight:600;color:var(--cbd-ink-muted,#a1a5b7)}
.cbd-feed-detail-val{font-size:14px;font-weight:600;color:var(--cbd-navy,#181c32);line-height:1.35}
.cbd-feed-detail-code{align-self:flex-start;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--cbd-primary,#0E7490);background:var(--cbd-primary-light,#f1faff);border:1px dashed var(--cbd-primary,#009ef7);border-radius:6px;padding:3px 10px}

/* Deep-link target highlight (feed → profile tab scroll) */
.cbd-item-flash{animation:cbd-item-flash 2.2s ease}
@keyframes cbd-item-flash{0%,18%{box-shadow:0 0 0 3px var(--cbd-primary),0 8px 30px rgba(0,158,247,.25)}100%{box-shadow:0 0 0 0 rgba(0,158,247,0)}}
.cbd-event-card,.cbd-promo-card{scroll-margin-top:90px}
.cbd-feed-item{scroll-margin-top:90px}

/* ── [cbd_calendar] — interactive month + agenda calendar ── */
/* Editorial calendar: flat cells, hairline grid, text-forward events.
   --cbd-cal-warm is the terracotta accent (weekday initials, today, popover). */
.cbd-cal,.cbd-cal-pop{--cbd-cal-warm:#a9714a}
/* Toolbar: search + view switch */
.cbd-cal-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;padding:12px;border:1px solid var(--cbd-border);border-radius:calc(var(--cbd-radius-lg) + 4px);background:#fff;box-shadow:var(--cbd-shadow);margin-bottom:20px}
.cbd-cal-search{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-width:220px;position:relative}
.cbd-cal-search-ic{position:absolute;left:16px;color:var(--cbd-ink-muted);display:inline-flex;pointer-events:none;transition:color .2s}
.cbd-cal-search-ic .cbd-icon{width:18px;height:18px}
.cbd-cal-q{flex:1;height:46px;padding:0 16px 0 44px;border:1px solid transparent;border-radius:999px;font-size:14px;background:var(--cbd-surface-2);transition:border-color .2s,background .2s,box-shadow .2s}
.cbd-cal-q:focus{outline:none;border-color:var(--cbd-primary);background:#fff;box-shadow:0 0 0 4px var(--cbd-primary-light)}
.cbd-cal-search:focus-within .cbd-cal-search-ic{color:var(--cbd-primary)}
.cbd-cal-find{height:46px;white-space:nowrap;border-radius:999px!important}
/* Segmented toggle-button group (pill track + white active pill). */
.cbd-cal-views{display:inline-flex;gap:3px;background:var(--cbd-surface-2);border-radius:999px;padding:4px}
.cbd-cal-view{border:none;background:none;font-size:13px;font-weight:700;color:var(--cbd-ink-soft);padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.cbd-cal-view:hover{color:var(--cbd-navy)}
/* Neutralise the theme's button:focus/:active fill (beats our 0,1,0 on
   specificity); the is-active rule comes last so the active pill still wins. */
.cbd-cal-view:focus,.cbd-cal-view:active{background:none;box-shadow:none;outline:none}
.cbd-cal-view:focus-visible{outline:2px solid var(--cbd-primary);outline-offset:2px}
.cbd-cal-view.is-active{background:#fff;color:var(--cbd-navy);box-shadow:0 1px 3px rgba(24,28,50,.14)}
/* Nav row */
.cbd-cal-nav{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.cbd-cal-nav-btns{display:inline-flex;gap:6px}
.cbd-cal-arrow{width:40px;height:40px;border:1px solid var(--cbd-border-strong);background:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--cbd-navy);transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;padding:0}
.cbd-cal-arrow:hover{background:var(--cbd-primary);border-color:var(--cbd-primary);color:#fff;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--cbd-primary) 50%,transparent)}
.cbd-cal-arrow:active{transform:scale(.92)}
.cbd-cal-arrow .cbd-icon{width:20px;height:20px}
.cbd-cal-today-btn{height:40px;padding:0 18px;border:1px solid var(--cbd-border-strong);background:#fff;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;color:var(--cbd-ink-soft);transition:border-color .2s,color .2s,background .2s}
.cbd-cal-today-btn:hover{border-color:var(--cbd-primary);color:var(--cbd-primary);background:var(--cbd-primary-light)}
/* Title doubles as the date-picker trigger */
.cbd-cal-titlewrap{position:relative}
.cbd-cal-title{display:inline-flex;align-items:center;gap:8px;background:none;border:none;margin:0;padding:4px 8px;border-radius:9px;cursor:pointer;color:var(--cbd-navy);font-family:var(--cbd-font-head);font-size:25px;font-weight:800;letter-spacing:-.02em;line-height:1.1;transition:background .15s,color .15s}
.cbd-cal-title:hover{background:var(--cbd-surface-2);color:var(--cbd-cal-warm)}
.cbd-cal-title:focus,.cbd-cal-title:active{background:none;box-shadow:none;outline:none}
.cbd-cal-title:focus-visible{outline:2px solid var(--cbd-primary);outline-offset:2px}
.cbd-cal-title-caret{width:19px;height:19px;color:var(--cbd-ink-muted);flex:0 0 auto;transition:transform .2s}
.cbd-cal-title[aria-expanded="true"] .cbd-cal-title-caret{transform:rotate(180deg)}
/* Mini month picker */
.cbd-cal-picker{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:300px;max-width:calc(100vw - 32px);padding:14px;background:#fff;border:1px solid var(--cbd-border-strong);border-radius:14px;box-shadow:0 20px 54px -18px rgba(24,28,50,.34)}
.cbd-cal-picker.is-open{display:block;animation:cbd-cal-fade .18s ease}
.cbd-cal-pk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cbd-cal-pk-title{font-family:var(--cbd-font-head);font-weight:800;font-size:15px;color:var(--cbd-navy)}
.cbd-cal-pk-nav{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--cbd-ink-soft);transition:background .15s,color .15s}
.cbd-cal-pk-nav:hover{background:var(--cbd-surface-2);color:var(--cbd-cal-warm)}
.cbd-cal-pk-nav svg{width:18px;height:18px}
.cbd-cal-pk-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:6px}
.cbd-cal-pk-dows span{text-align:center;font-size:11px;font-weight:700;color:var(--cbd-cal-warm)}
.cbd-cal-pk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
/* Reset the theme's button padding/min-width so 7 cells fit the card width. */
.cbd-cal-picker button{font-family:var(--cbd-font-body);min-width:0;margin:0;padding:0}
.cbd-cal-pk-day{aspect-ratio:1;width:100%;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;color:var(--cbd-navy);transition:background .12s,color .12s}
.cbd-cal-pk-day:hover{background:var(--cbd-primary-light);color:var(--cbd-primary)}
.cbd-cal-pk-day.is-other{color:var(--cbd-ink-muted);opacity:.55}
.cbd-cal-pk-day.is-today{color:var(--cbd-cal-warm);font-weight:800}
.cbd-cal-pk-day.is-sel,.cbd-cal-pk-day.is-sel:hover,.cbd-cal-pk-day.is-sel:focus{background:var(--cbd-cal-warm);color:#fff}
.cbd-cal-picker button:focus{outline:none}
.cbd-cal-picker button:focus-visible{outline:2px solid var(--cbd-primary);outline-offset:-2px}
.cbd-cal-pk-nav:focus{background:none}
.cbd-cal-pk-day:focus{background:var(--cbd-primary-light);color:var(--cbd-primary)}
/* Body + loading */
.cbd-cal-body{position:relative;min-height:200px}
.cbd-cal.is-loading .cbd-cal-month,.cbd-cal.is-loading .cbd-cal-agenda{opacity:.4;filter:saturate(.6);pointer-events:none;transition:opacity .25s,filter .25s}
/* The loader is hidden by default via the [hidden] attribute; the JS only
   reveals it during an AJAX fetch. Without this guard an author `display`
   rule beats [hidden]'s UA `display:none`, pinning the spinner on forever. */
.cbd-cal-loader[hidden]{display:none}
.cbd-cal-loader{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;z-index:5}
.cbd-cal-loader::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:calc(var(--cbd-radius-lg) + 4px)}
.cbd-cal-spinner{position:relative;width:38px;height:38px;border:3px solid var(--cbd-primary-light);border-top-color:var(--cbd-primary);border-radius:50%;animation:cbd-spin .7s linear infinite;box-shadow:0 4px 14px -4px color-mix(in srgb,var(--cbd-primary) 45%,transparent)}
@keyframes cbd-spin{to{transform:rotate(360deg)}}
/* Month grid */
.cbd-cal-grid{border:1px solid var(--cbd-border-strong);border-radius:14px;overflow:hidden;background:#fff;animation:cbd-cal-fade .28s ease}
@keyframes cbd-cal-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* minmax(0,1fr) — NOT 1fr — so all 7 columns stay equal width regardless of
   event-title length; content wraps/truncates inside the cell instead of
   stretching its column. */
.cbd-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cbd-cal-week+.cbd-cal-week{border-top:1px solid var(--cbd-border-strong)}
.cbd-cal-dows{background:#fff}
.cbd-cal-dow{padding:14px 14px 10px;font-size:14px;font-weight:700;color:var(--cbd-cal-warm);text-align:left}
.cbd-cal-dow abbr{text-decoration:none;border:none;cursor:default}
.cbd-cal-dow+.cbd-cal-dow,.cbd-cal-cell+.cbd-cal-cell{border-left:1px solid var(--cbd-border-strong)}
.cbd-cal-cell{position:relative;min-width:0;min-height:148px;padding:12px 14px 16px;display:flex;flex-direction:column;gap:9px;background:#fff;transition:background .18s}
.cbd-cal-cell.has-events:hover{background:#fcfbfa}
.cbd-cal-cell.is-other{background:var(--cbd-surface)}
.cbd-cal-cell.is-other .cbd-cal-daynum{opacity:.4}
.cbd-cal-cell.is-today{background:color-mix(in srgb,var(--cbd-cal-warm) 6%,#fff)}
.cbd-cal-cell.is-today::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cbd-cal-warm);pointer-events:none}
.cbd-cal-cell-head{display:flex}
.cbd-cal-daynum{font-size:20px;font-weight:600;color:var(--cbd-ink-soft);letter-spacing:-.01em;line-height:1;transition:color .18s}
.cbd-cal-cell.is-today .cbd-cal-daynum{color:var(--cbd-cal-warm);font-weight:800}
.cbd-cal-cell-events{display:flex;flex-direction:column;gap:11px;min-width:0}
/* Single events: plain stacked text (time over wrapping title), no chip. */
.cbd-cal-ev{display:flex;flex-direction:column;gap:1px;text-decoration:none;font-size:12.5px;line-height:1.35;color:var(--cbd-navy);border-radius:5px;margin:0 -5px;padding:2px 5px;transition:background .15s}
/* `display:flex` above would beat the [hidden] attribute's UA display:none,
   so collapsed "+N more" events (.is-extra[hidden]) would stay visible and the
   expander would appear to do nothing. This guard restores real hiding. */
.cbd-cal-ev[hidden]{display:none}
.cbd-cal-ev:hover{background:var(--cbd-surface-2)}
.cbd-cal-ev:hover .cbd-cal-ev-title{color:var(--cbd-cal-warm)}
.cbd-cal-ev-time{font-weight:600;font-size:11px;color:var(--cbd-ink-muted);font-variant-numeric:tabular-nums}
.cbd-cal-ev-title{font-weight:600;color:var(--cbd-navy);overflow-wrap:anywhere;transition:color .15s}
/* Multi-day / all-day: soft tinted pill bar spanning the week. */
.cbd-cal-ev.is-multi{flex-direction:row;align-items:center;margin:0 -14px;padding:5px 14px;border-radius:0;overflow:hidden;color:var(--cbd-navy);background:color-mix(in srgb,var(--ev,var(--cbd-primary)) 16%,#fff)}
.cbd-cal-ev.is-multi:hover{background:color-mix(in srgb,var(--ev,var(--cbd-primary)) 28%,#fff)}
.cbd-cal-ev.is-multi:hover .cbd-cal-ev-title{color:var(--cbd-navy)}
.cbd-cal-ev.is-multi .cbd-cal-ev-title{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbd-cal-ev.is-multi.is-mstart{border-top-left-radius:999px;border-bottom-left-radius:999px}
.cbd-cal-ev.is-multi.is-mend{border-top-right-radius:999px;border-bottom-right-radius:999px}
.cbd-cal-more{align-self:flex-start;background:none;border:none;font-size:12px;font-weight:600;color:var(--cbd-ink-muted);cursor:pointer;padding:2px 0;border-radius:0;transition:color .15s}
.cbd-cal-more:hover{color:var(--cbd-cal-warm)}
/* Hover preview popover (rich event card, appended to <body>) */
.cbd-cal-pop{position:absolute;z-index:100000;width:300px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--cbd-border-strong);border-radius:14px;box-shadow:0 22px 60px -16px rgba(24,28,50,.35),0 4px 14px -8px rgba(24,28,50,.2);overflow:hidden;font-family:var(--cbd-font-body);color:var(--cbd-ink);pointer-events:auto;opacity:0;transform:translateY(7px);transition:opacity .16s ease,transform .16s ease}
.cbd-cal-pop[hidden]{display:none}
.cbd-cal-pop.is-shown{opacity:1;transform:translateY(0)}
.cbd-cal-pop-img{height:130px;background-size:cover;background-position:center;background-color:var(--cbd-surface-2)}
.cbd-cal-pop-body{padding:15px 17px 17px}
.cbd-cal-pop-time{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cbd-cal-warm);margin-bottom:6px}
.cbd-cal-pop-title{font-family:var(--cbd-font-head);font-size:16px;font-weight:800;line-height:1.25;color:var(--cbd-navy);letter-spacing:-.01em}
.cbd-cal-pop-venue{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--cbd-ink-muted);margin-top:7px}
.cbd-cal-pop-ex{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--cbd-ink-soft)}
.cbd-cal-pop-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.cbd-cal-pop-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:700;font-family:var(--cbd-font-body);line-height:1;padding:10px 13px;border-radius:9px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.cbd-cal-pop-view{background:var(--cbd-primary);color:#fff}
.cbd-cal-pop-view:hover{background:var(--cbd-primary-mid);color:#fff}
.cbd-cal-pop-view:focus-visible{outline:2px solid var(--cbd-primary);outline-offset:2px}
/* Add-to-calendar provider dropdown */
.cbd-cal-addcal{position:relative}
.cbd-cal-addcal-toggle{width:100%;justify-content:flex-start;background:#fff;color:var(--cbd-navy);border-color:var(--cbd-border-strong)}
.cbd-cal-addcal-toggle:focus,.cbd-cal-addcal-toggle:active{background:#fff;box-shadow:none;outline:none}
.cbd-cal-addcal-toggle:focus-visible{outline:2px solid var(--cbd-primary);outline-offset:2px}
.cbd-cal-addcal-toggle:hover{border-color:var(--cbd-primary);color:var(--cbd-primary);background:var(--cbd-primary-light)}
.cbd-cal-addcal-ic{width:16px;height:16px;flex:0 0 auto}
.cbd-cal-addcal-caret{width:15px;height:15px;margin-left:auto;flex:0 0 auto;transition:transform .2s}
.cbd-cal-addcal-toggle.is-open .cbd-cal-addcal-caret{transform:rotate(180deg)}
.cbd-cal-addcal-menu{display:none;flex-direction:column;margin-top:6px;border:1px solid var(--cbd-border-strong);border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 10px 28px -12px rgba(24,28,50,.3)}
.cbd-cal-addcal-menu.is-open{display:flex}
.cbd-cal-addcal-item{padding:10px 14px;font-size:13px;font-weight:600;color:var(--cbd-navy);text-decoration:none;transition:background .12s,color .12s}
.cbd-cal-addcal-item+.cbd-cal-addcal-item{border-top:1px solid var(--cbd-border)}
.cbd-cal-addcal-item:hover{background:var(--cbd-primary-light);color:var(--cbd-primary)}
/* Agenda (List) view */
.cbd-cal-agenda-list{list-style:none;margin:0;padding:0;border:1px solid var(--cbd-border);border-radius:calc(var(--cbd-radius-lg) + 4px);overflow:hidden;background:#fff;box-shadow:var(--cbd-shadow)}
.cbd-cal-agenda-day{display:flex;border-top:1px solid var(--cbd-border)}
.cbd-cal-agenda-day:first-child{border-top:none}
.cbd-cal-agenda-date{flex:0 0 88px;padding:18px 8px;text-align:center;background:linear-gradient(180deg,#fff,var(--cbd-surface));display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--cbd-border)}
.cbd-cal-agenda-dnum{font-size:28px;font-weight:800;color:var(--cbd-navy);line-height:1;letter-spacing:-.02em}
.cbd-cal-agenda-dow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--cbd-ink-muted);margin-top:4px}
.cbd-cal-agenda-events{list-style:none;margin:0;padding:10px;flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.cbd-cal-agenda-ev{display:flex;gap:14px;align-items:flex-start;cursor:pointer;text-decoration:none;padding:12px 16px;border-radius:var(--cbd-radius);border-left:4px solid var(--ev,var(--cbd-primary));transition:background .15s,transform .15s,box-shadow .15s;background:var(--cbd-surface-2);background:color-mix(in srgb,var(--ev,var(--cbd-primary)) 8%,#fff)}
.cbd-cal-agenda-ev:hover{background:color-mix(in srgb,var(--ev,var(--cbd-primary)) 18%,#fff);transform:translateX(2px);box-shadow:0 6px 16px -8px color-mix(in srgb,var(--ev,var(--cbd-primary)) 45%,transparent)}
.cbd-cal-agenda-ev:focus-visible{outline:2px solid var(--ev,var(--cbd-primary));outline-offset:2px}
.cbd-cal-agenda-time{flex:0 0 100px;font-size:13px;font-weight:700;color:var(--ev,var(--cbd-primary));font-variant-numeric:tabular-nums}
.cbd-cal-agenda-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.cbd-cal-agenda-title{font-size:14px;font-weight:700;color:var(--cbd-navy)}
.cbd-cal-agenda-venue{font-size:12px;color:var(--cbd-ink-muted);display:inline-flex;align-items:center;gap:4px}
.cbd-cal-agenda-venue .cbd-icon{width:13px;height:13px}
.cbd-cal-empty{text-align:center;padding:64px 20px;border:1px dashed var(--cbd-border-strong);border-radius:calc(var(--cbd-radius-lg) + 4px);color:var(--cbd-ink-muted);background:linear-gradient(180deg,#fff,var(--cbd-surface))}
.cbd-cal-empty-ic{font-size:40px;display:block;margin-bottom:12px;opacity:.8}
/* Day (timeline) view */
.cbd-cal-day-list{list-style:none;margin:0;padding:0;border:1px solid var(--cbd-border-strong);border-radius:14px;overflow:hidden;background:#fff}
.cbd-cal-day-item{display:flex;border-top:1px solid var(--cbd-border)}
.cbd-cal-day-item:first-child{border-top:none}
.cbd-cal-day-rail{flex:0 0 88px;display:flex;flex-direction:column;align-items:center;padding:20px 8px;background:linear-gradient(180deg,#fff,var(--cbd-surface));border-right:1px solid var(--cbd-border)}
.cbd-cal-day-time{font-size:14px;font-weight:800;color:var(--cbd-navy);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.cbd-cal-day-dot{width:11px;height:11px;border-radius:50%;background:var(--ev,var(--cbd-primary));margin-top:9px;box-shadow:0 0 0 4px color-mix(in srgb,var(--ev,var(--cbd-primary)) 18%,#fff)}
.cbd-cal-day-card{flex:1;min-width:0;display:flex;gap:18px;align-items:flex-start;justify-content:space-between;text-decoration:none;padding:16px 20px;border-left:3px solid var(--ev,var(--cbd-primary));transition:background .15s}
.cbd-cal-day-card:hover{background:color-mix(in srgb,var(--ev,var(--cbd-primary)) 6%,#fff)}
.cbd-cal-day-info{display:flex;flex-direction:column;gap:5px;min-width:0}
.cbd-cal-day-range{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ev,var(--cbd-primary))}
.cbd-cal-day-title{font-family:var(--cbd-font-head);font-size:18px;font-weight:800;color:var(--cbd-navy);letter-spacing:-.01em;line-height:1.25}
.cbd-cal-day-card:hover .cbd-cal-day-title{color:var(--cbd-cal-warm)}
.cbd-cal-day-venue{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--cbd-ink-muted)}
.cbd-cal-day-venue .cbd-icon{width:14px;height:14px}
.cbd-cal-day-ex{font-size:13px;line-height:1.55;color:var(--cbd-ink-soft);margin-top:2px}
.cbd-cal-day-thumb{flex:0 0 124px;align-self:stretch;min-height:96px;border-radius:11px;background-size:cover;background-position:center;background-color:var(--cbd-surface-2)}
@media (prefers-reduced-motion: reduce){.cbd-cal-spinner{animation-duration:1.6s}.cbd-cal-grid{animation:none}.cbd-cal-ev:hover,.cbd-cal-agenda-ev:hover{transform:none}}
.cbd-map-count{font-size:13px;color:var(--cbd-ink-muted);margin-top:8px;text-align:center}

/* Responsive profile */
@media(max-width:900px){
  .cbd-profile-body{grid-template-columns:1fr}
  .cbd-profile-sidebar{order:-1}
  .cbd-profile-header{align-items:flex-start}
  .cbd-feed-item{flex-direction:column;gap:16px}
  .cbd-feed-bizcard{flex-basis:auto;width:100%}
  .cbd-feed-img-wrap{width:100%}
  .cbd-feed-img{width:100%;height:200px}
}
@media(max-width:600px){
  .cbd-profile-tab{padding:11px 13px;font-size:13px}
  .cbd-profile-header{padding:16px;gap:12px}
}
/* Calendar responsive */
@media(max-width:780px){
  .cbd-cal-toolbar{flex-direction:column;align-items:stretch}
  .cbd-cal-views{align-self:flex-start}
  .cbd-cal-titlewrap{width:100%;order:-1}
  .cbd-cal-title{font-size:20px}
  .cbd-cal-agenda-time{flex-basis:78px}
}
@media(max-width:600px){
  .cbd-cal-cell{min-height:74px;padding:5px;gap:2px}
  .cbd-cal-daynum{width:24px;height:24px;font-size:12px}
  .cbd-cal-ev{padding:2px 4px;font-size:10px}
  .cbd-cal-ev-time{display:none}            /* keep just the colour cue + title */
  .cbd-cal-dow{font-size:9px;padding:7px 2px;letter-spacing:.04em}
  .cbd-cal-agenda-date{flex-basis:64px;padding:12px 6px}
  .cbd-cal-agenda-dnum{font-size:21px}
  .cbd-cal-agenda-ev{flex-direction:column;gap:4px}
  .cbd-cal-day-rail{flex-basis:60px;padding:14px 6px}
  .cbd-cal-day-time{font-size:12px}
  .cbd-cal-day-card{flex-direction:column-reverse;gap:12px;padding:14px}
  .cbd-cal-day-title{font-size:16px}
  .cbd-cal-day-thumb{flex-basis:auto;width:100%;height:150px;min-height:0}
}

/* ── Business Posts ──────────────────────────────────────── */
.cbd-post-create-box{background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);padding:24px;margin-bottom:28px;box-shadow:var(--cbd-shadow)}
.cbd-post-create-box h3{font-size:17px;font-weight:700;margin:0 0 16px}
.cbd-post-type-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.cbd-type-pill.cbd-type-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:var(--cbd-radius-sm);border:1.5px solid var(--cbd-border);background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:var(--cbd-ink-soft);transition:all .2s}
.cbd-type-pill input{display:none}
.cbd-type-pill:has(input:checked),.cbd-type-pill.active{background:var(--cbd-primary-light);border-color:var(--cbd-primary);color:var(--cbd-primary);font-weight:600}
.cbd-type-pill:hover{border-color:var(--cbd-primary);color:var(--cbd-primary)}
.cbd-posts-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}

/* ── Gallery ─────────────────────────────────────────────── */
.cbd-gallery-upload{background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);padding:24px;margin-bottom:28px;box-shadow:var(--cbd-shadow)}
.cbd-gallery-upload h3{font-size:17px;font-weight:700;margin:0 0 16px}
.cbd-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}
.cbd-gallery-item{position:relative;border-radius:var(--cbd-radius);overflow:hidden;aspect-ratio:1;background:var(--cbd-surface-2)}
.cbd-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.cbd-gallery-item:hover img{transform:scale(1.06)}
.cbd-gallery-delete{position:absolute;top:6px;right:6px;background:rgba(24,28,50,.72);color:#fff;border:none;border-radius:50%;width:26px;height:26px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s}
.cbd-gallery-item:hover .cbd-gallery-delete{opacity:1}
.cbd-gallery-delete:hover{background:var(--cbd-coral)}

/* ── Albums (dashboard + profile gallery) ────────────────── */
.cbd-gallery-album{margin:0 0 24px;padding:18px;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-lg)}
.cbd-gallery-album:last-child{margin-bottom:0}
.cbd-album-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--cbd-border)}
.cbd-album-count{font-size:12px;font-weight:700;color:var(--cbd-primary);background:var(--cbd-primary-light);border-radius:var(--cbd-radius-sm);padding:2px 9px;line-height:1.6}
.cbd-gallery-view{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.cbd-lightbox-trigger{cursor:pointer;display:block}

/* ── Branding media fields (Edit Profile) ────────────────── */
.cbd-media-field{display:flex;align-items:center;gap:12px}
.cbd-media-thumb{flex-shrink:0;width:64px;height:64px;border-radius:var(--cbd-radius);overflow:hidden;background:var(--cbd-surface-2);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--cbd-ink-muted);font-weight:800;font-family:var(--cbd-font-head);border:1px solid var(--cbd-border)}
.cbd-media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cbd-media-cover{width:128px;height:64px;font-size:11px;font-weight:600;text-align:center;padding:4px;line-height:1.3}
.cbd-media-field input[type=file]{flex:1;min-width:0}

/* ── Gallery lightbox ────────────────────────────────────── */
.cbd-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(8,20,30,.93);padding:40px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cbd-lightbox.is-open{display:flex}
.cbd-lb-stage{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.cbd-lb-img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.cbd-lb-caption{color:#e7eef2;font-size:14px;text-align:center;max-width:680px;margin:0}
.cbd-lb-close.cbd-lb-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:18px;cursor:pointer;transition:background .2s}
.cbd-lb-close:hover{background:rgba(255,255,255,.26)}
.cbd-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cbd-lb-nav:hover{background:rgba(255,255,255,.28)}
.cbd-lb-nav svg{width:24px;height:24px}
.cbd-lb-prev{left:18px}
.cbd-lb-next{right:18px}
@media(max-width:600px){.cbd-lightbox{padding:14px}.cbd-lb-nav{width:42px;height:42px}.cbd-lb-close{top:10px;right:12px}}

/* ── Image cropper (logo / cover aspect-locked crop) ─────── */
.cbd-cropper{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(8,20,30,.78);padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.cbd-cropper.is-open{display:flex}
.cbd-cropper-box{background:#fff;border-radius:var(--cbd-radius-lg);box-shadow:var(--cbd-shadow-lg);width:min(540px,100%);max-height:92vh;overflow:auto;padding:20px}
.cbd-cropper-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cbd-cropper-title{font-size:18px;font-weight:800;margin:0;font-family:var(--cbd-font-head)}
.cbd-cropper-x{border:none;background:var(--cbd-surface-2);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:13px;color:var(--cbd-ink);flex-shrink:0}
.cbd-cropper-x:hover{background:var(--cbd-coral);color:#fff}
.cbd-cropper-stage{display:flex;justify-content:center;background:repeating-conic-gradient(#eef2f4 0% 25%,#f7fafb 0% 50%) 50%/22px 22px;border-radius:var(--cbd-radius);padding:16px;overflow:hidden}
.cbd-cropper-viewport{position:relative;overflow:hidden;border-radius:6px;box-shadow:0 0 0 1px rgba(24,28,50,.18);cursor:grab;touch-action:none;user-select:none;background:#181c32;max-width:100%}
.cbd-cropper-viewport:active{cursor:grabbing}
.cbd-cropper-img{position:absolute;top:0;left:0;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.cbd-cropper-controls{display:flex;align-items:center;gap:12px;margin:16px 0 6px}
.cbd-cropper-controls button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--cbd-border);background:#fff;font-size:18px;line-height:1;cursor:pointer;color:var(--cbd-ink);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cbd-cropper-controls button:hover{border-color:var(--cbd-primary);color:var(--cbd-primary)}
.cbd-cropper-zoom{flex:1;accent-color:var(--cbd-primary);cursor:pointer}
.cbd-cropper-hint{font-size:12px;color:var(--cbd-ink-muted);margin:0 0 18px;text-align:center}
.cbd-cropper-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.cbd-crop-preview{margin-top:8px;width:72px;height:72px;border-radius:var(--cbd-radius);border:1px solid var(--cbd-border);background:var(--cbd-surface-2) center/cover no-repeat}
.cbd-crop-preview.is-wide{width:150px;height:50px}

/* ── Follow / Fav icon buttons ───────────────────────────── */
.cbd-btn-icon{display:flex;padding:0;min-width:auto;font-size:13px}

.cbd-follow-btn{
  color: var(--cbd-ink-muted);
}
.cbd-follow-btn:hover{
  color: var(--cbd-coral);
  background: none;
}
.cbd-follow-btn.is-following{background:var(--cbd-primary-light);color:var(--cbd-primary);border-color:var(--cbd-primary);padding: 3px 8px;}
.cbd-fav-btn{font-size:28px;color:var(--cbd-ink-muted);margin-left:5px;}
.cbd-fav-btn:hover{
  color: var(--cbd-coral);
  background: none;
}
.cbd-fav-btn.is-favorited{color:var(--cbd-coral);}
/* ── Admin settings pages tab fix ───────────────────────── */
.cbd-admin .nav-tab-wrapper .nav-tab{padding:8px 16px;font-size:14px}

/* ── Plans ───────────────────────────────────────────────── */
.cbd-plans{text-align:center}
.cbd-plans-header{margin-bottom:40px}
.cbd-plans-title{font-size:clamp(28px,3vw,42px);font-weight:800;margin:0 0 8px}
.cbd-plans-sub{font-size:17px;color:var(--cbd-ink-soft);margin:0 0 24px}
.cbd-plans-billing-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.cbd-billing-label{font-size:14px;font-weight:500;color:var(--cbd-ink-muted);transition:color .2s}
.cbd-billing-label.active{color:var(--cbd-ink);font-weight:700}
.cbd-save-badge{background:var(--cbd-amber);color:var(--cbd-navy);font-size:11px;padding:2px 9px;border-radius:var(--cbd-radius-sm);margin-left:6px;font-weight:700}
.cbd-toggle-switch{position:relative;display:inline-block;width:44px;height:24px}
.cbd-toggle-switch input{opacity:0;width:0;height:0}
.cbd-toggle-slider{position:absolute;cursor:pointer;inset:0;background:#c2cdd3;border-radius:24px;transition:.3s}
.cbd-toggle-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.cbd-toggle-switch input:checked + .cbd-toggle-slider{background:var(--cbd-primary)}
.cbd-toggle-switch input:checked + .cbd-toggle-slider::before{transform:translateX(20px)}

.cbd-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;text-align:left}
.cbd-plan-card{background:#fff;border:1.5px solid var(--cbd-border);border-radius:var(--cbd-radius-lg);padding:28px;position:relative;transition:transform .3s,box-shadow .3s}
.cbd-plan-card:hover{transform:translateY(-5px);box-shadow:var(--cbd-shadow-lg)}
.cbd-plan-card.is-featured{border-color:var(--cbd-primary);border-width:2px;box-shadow:0 8px 30px rgba(0,158,247,.16)}
.cbd-plan-card.is-current{background:var(--cbd-primary-light);border-color:var(--cbd-primary)}
.cbd-plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--cbd-primary);color:#fff;font-size:11px;font-weight:700;padding:5px 15px;border-radius:var(--cbd-radius-sm);white-space:nowrap;box-shadow:0 4px 12px rgba(0,158,247,.35)}
.cbd-plan-badge-current{background:var(--cbd-sky)}
.cbd-plan-header{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--cbd-border)}
.cbd-plan-name{font-size:20px;font-weight:800;margin:0 0 12px}
.cbd-price-amount{font-size:36px;font-weight:800;color:var(--cbd-navy)}
.cbd-price-period{font-size:14px;color:var(--cbd-ink-muted);margin-left:4px}
.cbd-plan-desc{font-size:13px;color:var(--cbd-ink-muted);margin:10px 0 0}
.cbd-plan-features{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px}
.cbd-plan-features li{font-size:14px;color:var(--cbd-ink-soft);display:flex;align-items:flex-start;gap:8px}
.cbd-feature-check{color:var(--cbd-primary);font-weight:700;flex-shrink:0}
.cbd-upgrade-btn.cbd-upgrade-btn{cursor:pointer}
.cbd-plans-note{font-size:13px;color:var(--cbd-ink-muted);margin-top:8px}

/* ── Membership: current-plan summary (dashboard) ────────── */
.cbd-current-plan{background:linear-gradient(135deg,var(--cbd-primary-light),#fff);border:1.5px solid var(--cbd-primary);border-radius:var(--cbd-radius-lg);padding:22px 24px;margin-top:6px}
.cbd-current-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cbd-current-plan-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cbd-ink-muted)}
.cbd-current-plan-name{font-size:24px;font-weight:800;color:var(--cbd-navy);line-height:1.2;margin-top:2px}
.cbd-current-plan-price{text-align:right;white-space:nowrap}
.cbd-current-plan-price strong{font-size:24px;font-weight:800;color:var(--cbd-navy)}
.cbd-current-plan-price span{font-size:13px;color:var(--cbd-ink-muted)}
.cbd-current-plan-meta{margin-top:14px;font-size:14px;color:var(--cbd-ink-soft);display:flex;align-items:center;gap:8px}
.cbd-plan-status{color:var(--cbd-ink-muted);font-size:10px;line-height:1}
.cbd-plan-status-active{color:#22c55e}
.cbd-current-plan-actions{margin-top:16px}

/* ── Membership: confirm dialog ──────────────────────────── */
.cbd-plan-confirm-modal{max-width:440px}
.cbd-plan-confirm-body{font-size:15px;color:var(--cbd-ink-soft);margin:0 0 22px;line-height:1.5}

/* ── Membership: plan-usage modal ────────────────────────── */
.cbd-usage-list{display:flex;flex-direction:column;gap:18px;margin-top:8px}
.cbd-usage-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}
.cbd-usage-label{font-size:14px;font-weight:600;color:var(--cbd-ink)}
.cbd-usage-count{font-size:13px;color:var(--cbd-ink-muted)}
.cbd-usage-count strong{font-size:15px;font-weight:800;color:var(--cbd-navy)}
.cbd-usage-bar{height:9px;border-radius:40px;background:var(--cbd-surface-2);overflow:hidden}
.cbd-usage-bar-fill{display:block;height:100%;border-radius:40px;background:var(--cbd-primary);transition:width .4s ease}
.cbd-usage-bar-fill.is-unlimited{background:linear-gradient(90deg,var(--cbd-primary),var(--cbd-sky))}
.cbd-usage-bar-fill.is-full{background:var(--cbd-coral)}
.cbd-usage-warn{display:block;margin-top:6px;font-size:12px;font-weight:600;color:var(--cbd-coral)}
.cbd-usage-subhead{font-size:14px;font-weight:700;margin:24px 0 12px;color:var(--cbd-navy)}
.cbd-usage-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cbd-usage-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cbd-ink-soft)}
.cbd-usage-features li.is-off{color:var(--cbd-ink-muted);opacity:.7}
.cbd-usage-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800;flex-shrink:0}
.cbd-usage-features li.is-on .cbd-usage-feature-icon{background:var(--cbd-primary-light);color:var(--cbd-primary)}
.cbd-usage-features li.is-off .cbd-usage-feature-icon{background:var(--cbd-surface-2);color:var(--cbd-ink-muted)}

/* ── Spinner ─────────────────────────────────────────────── */
.cbd-spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--cbd-border);border-top-color:var(--cbd-primary);border-radius:50%;animation:cbd-spin .8s linear infinite;margin-bottom:12px}
@keyframes cbd-spin{to{transform:rotate(360deg)}}
.cbd-loading-state{display:flex;flex-direction:column;align-items:center}

/* ── Pagination (AJAX) ───────────────────────────────────── */
.cbd-page-btn.cbd-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:var(--cbd-radius);border:1.5px solid var(--cbd-border);background:#fff;color:var(--cbd-ink);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--cbd-font-body)}
.cbd-page-btn.current{background:var(--cbd-primary);color:#fff;border-color:var(--cbd-primary)}
.cbd-page-btn:hover:not(.current){border-color:var(--cbd-primary);color:var(--cbd-primary)}

@media(max-width:600px){.cbd-plans-grid{grid-template-columns:1fr}}

/* ── Reactions ── */
.cbd-reactions{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--cbd-border);flex-wrap:wrap}
.cbd-react-summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--cbd-ink-soft);border:none;background:transparent}
.cbd-react-summary:hover .cbd-react-summary-count{text-decoration:underline}
.cbd-react-summary-emojis{display:inline-flex}
.cbd-react-summary-emojis .cbd-react-emoji{margin-left:-4px;font-size:16px;line-height:1;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #fff}
.cbd-react-summary-emojis .cbd-react-emoji:first-child{margin-left:0}
.cbd-react-summary-count{font-weight:600}
.cbd-react-btn-wrap{position:relative;display:inline-flex}
.cbd-react-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: var(--cbd-radius-sm);
  border: 1.5px solid var(--cbd-border);
  background: #fff;
  color: var(--cbd-ink-soft);
  font-size: 14px;
  font-weight: 600;
  font-family: var(--cbd-font-body);
  cursor: pointer;
  transition: all .15s
}
.cbd-react-btn:hover{border-color:var(--cbd-primary);color:var(--cbd-primary)}
.cbd-react-btn-emoji{font-size:17px;line-height:1;display:inline-flex;align-items:center}
.cbd-react-btn-emoji svg{display:block}
.cbd-react-btn.has-reaction{color:var(--cbd-primary)}
.cbd-react-btn.is-love{color:var(--cbd-coral)!important}
.cbd-react-btn.is-haha,.cbd-react-btn.is-wow,.cbd-react-btn.is-sad{color:var(--cbd-amber-ink)!important}
.cbd-react-btn.is-angry{color:var(--cbd-coral-ink)!important}
.cbd-react-picker{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;gap:2px;padding:6px 8px;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius-sm);box-shadow:var(--cbd-shadow-lg);opacity:0;visibility:hidden;transform:translateY(6px) scale(.92);transform-origin:bottom left;transition:opacity .15s,transform .15s,visibility .15s;z-index:30}
.cbd-react-btn-wrap:hover .cbd-react-picker,.cbd-react-btn-wrap.cbd-picker-open .cbd-react-picker{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.cbd-react-opt.cbd-react-opt{border:none;background:transparent;font-size:26px;line-height:1;padding:3px;cursor:pointer;border-radius:50%;transition:transform .12s}
.cbd-react-opt:hover{transform:scale(1.35) translateY(-4px)}

/* ── Reactors modal ── */
.cbd-reactors-modal-inner{max-width:440px;width:100%}
.cbd-reactors-list{margin-top:8px;max-height:60vh;overflow-y:auto}
.cbd-reactor-row{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--cbd-border)}
.cbd-reactor-row:last-child{border-bottom:none}
.cbd-reactor-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.cbd-reactor-id{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.cbd-reactor-name{font-weight:600;font-size:14px;color:var(--cbd-ink)}
.cbd-reactor-id .cbd-provider-badge{margin-top:0}
.cbd-reactor-emoji{font-size:20px;line-height:1;margin-left:auto;flex-shrink:0}
.cbd-react-loading{text-align:center;color:var(--cbd-ink-muted);padding:24px 0}

/* ── Review pending badge ── */
.cbd-review-pending{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:20px;background:var(--cbd-amber-light);color:var(--cbd-amber-ink);font-size:11px;font-weight:700;vertical-align:middle}

@media(max-width:600px){.cbd-react-opt{font-size:23px}}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .cbd-business-card:hover,.cbd-event-card:hover,.cbd-promo-card:hover{transform:none}
}

/* ── Theme overrides (typography + brand colors) ── */
.cbd-view-btn.cbd-view-btn{
  border-color: #29ABE1;
}

.cbd-card-body h3{
  font-size: 16px;
}
.cbd-bento-lg h3{
  font-size: 28px;
}
.cbd-card-body .cbd-card-visit{
  display: none;
}

.cbd-event-body .cbd-event-title{
  font-size: 18px;
}


.cbd-promo-card{
  display: flex;
  flex-direction: column;
  flex: 1;
}
.cbd-promo-card .cbd-promo-discount{
  font-size: 14px;
}
.cbd-promo-card .cbd-promo-title{
  font-size: 18px;
}

.cbd-feed-body .cbd-feed-title{
  font-size: 18px;
}

#cbd-feed-modal .cbd-react-btn,
.cbd-feed-body .cbd-react-btn{
  color: #181c32;
  background: none;
  border: 1px solid #eee;
  padding: 5px 10px;
  display: flex;
  align-items: center;
}
#cbd-feed-modal .cbd-react-btn:hover,
.cbd-feed-body .cbd-react-btn:hover{
  color: #181c32;
  background: var(--cbd-primary-light);
  border-color: var(--cbd-primary);
}

/* Feed "Read More" button (in the reactions bar) + full-content modal */
.cbd-feed-readmore-btn {
  margin-left: auto;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: #fff !important;
  background: var(--cbd-primary)!important;
  border: none!important;
  padding: 6px 15px;
  font-family: var(--cbd-font-body);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: transform .3s ease-in-out;
}

.cbd-feed-readmore-btn:hover {
  background: #0E7490!important;
  transform: scale(1.01,1.01);
}

/* Feed modal: pinned header (byline) + scrollable body + pinned footer.
   Overrides .cbd-modal's own padding/overflow so the three regions handle
   their own spacing and only the middle scrolls. */
.cbd-feed-modal-inner {
  max-width: 640px;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

/* Header — non-scrolling. Right padding clears the absolute close button. */
.cbd-feed-modal-byline {
  flex: 0 0 auto;
  margin: 0;
  padding: 22px 56px 16px 28px;
  border-bottom: 1px solid var(--cbd-border);
}

/* Body — the only scrollable region. */
.cbd-feed-modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 22px 28px;
}

/* Footer — non-scrolling, pinned to the bottom. */
.cbd-feed-modal-footer {
  flex: 0 0 auto;
  margin: 0;
  padding: 16px 28px;
}

/* ============================================================
   Analytics panel — Metronic 8 styling (scoped to .cbd-mt-*)
   ============================================================ */
.cbd-mt-analytics,
.cbd-mt-usage{
  --mt-primary:#009ef7;--mt-primary-light:#f1faff;
  --mt-success:#50cd89;--mt-success-light:#e8fff3;
  --mt-info:#7239ea;--mt-info-light:#f8f5ff;
  --mt-warning:#f6c000;--mt-warning-light:#fff8dd;
  --mt-danger:#f1416c;--mt-danger-light:#fff5f8;
  --mt-gray-900:#181c32;--mt-gray-600:#7e8299;--mt-gray-500:#a1a5b7;
  --mt-border:#f1f1f4;--mt-radius:.85rem;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.cbd-mt-accent-danger .cbd-mt-stat-icon{background:var(--mt-danger-light);color:var(--mt-danger)}
.cbd-mt-head{margin-bottom:22px}
.cbd-mt-title{font-size:22px;font-weight:700;color:var(--mt-gray-900);margin:0 0 4px;letter-spacing:-.01em}
.cbd-mt-sub{font-size:13px;color:var(--mt-gray-500);font-weight:500}

/* Stat tiles */
.cbd-mt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.cbd-mt-stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--mt-border);border-radius:var(--mt-radius);padding:20px;transition:box-shadow .2s ease,transform .2s ease}
.cbd-mt-stat:hover{box-shadow:0 .5rem 1.5rem .5rem rgba(24,28,50,.06);transform:translateY(-2px)}
.cbd-mt-stat-icon{flex:0 0 auto;width:48px;height:48px;border-radius:.65rem;display:flex;align-items:center;justify-content:center}
.cbd-mt-stat-icon .cbd-icon{width:26px;height:26px}
.cbd-mt-stat-body{display:flex;flex-direction:column;min-width:0}
.cbd-mt-stat-val{font-size:28px;font-weight:700;color:var(--mt-gray-900);line-height:1.1;letter-spacing:-.02em}
.cbd-mt-stat-label{font-size:12.5px;font-weight:600;color:var(--mt-gray-500);margin-top:3px}
.cbd-mt-accent-primary .cbd-mt-stat-icon{background:var(--mt-primary-light);color:var(--mt-primary)}
.cbd-mt-accent-success .cbd-mt-stat-icon{background:var(--mt-success-light);color:var(--mt-success)}
.cbd-mt-accent-info .cbd-mt-stat-icon{background:var(--mt-info-light);color:var(--mt-info)}
.cbd-mt-accent-warning .cbd-mt-stat-icon{background:var(--mt-warning-light);color:var(--mt-warning)}

/* Card wrapping the 7-day table */
.cbd-mt-card{background:#fff;border:1px solid var(--mt-border);border-radius:var(--mt-radius);overflow:hidden}
.cbd-mt-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--mt-border)}
.cbd-mt-card-title{font-size:16px;font-weight:700;color:var(--mt-gray-900);margin:0}
.cbd-mt-card-sub{font-size:12.5px;color:var(--mt-gray-500);font-weight:500;margin-top:2px;display:block}
.cbd-mt-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--mt-gray-600);background:#f9f9f9;border:1px solid var(--mt-border);border-radius:6px;padding:6px 11px;white-space:nowrap}
.cbd-mt-chip .cbd-icon{width:15px;height:15px}

/* Table */
.cbd-mt-table-wrap{overflow-x:auto}
.cbd-mt-table{width:100%;border-collapse:collapse}
.cbd-mt-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mt-gray-500);padding:13px 24px;background:#fcfcfd;border-bottom:1px solid var(--mt-border)}
.cbd-mt-table td{padding:14px 24px;font-size:14px;color:var(--mt-gray-900);border-bottom:1px dashed var(--mt-border);vertical-align:middle}
.cbd-mt-table tbody tr:last-child td{border-bottom:none}
.cbd-mt-table tbody tr{transition:background .15s ease}
.cbd-mt-table tbody tr:hover{background:#fafbfc}
.cbd-mt-row-today{background:var(--mt-primary-light)}
.cbd-mt-row-today:hover{background:var(--mt-primary-light)}
.cbd-mt-date{font-weight:600}

/* Views cell with mini bar */
.cbd-mt-views{display:flex;align-items:center;gap:12px;min-width:140px}
.cbd-mt-views-num{font-weight:700;min-width:36px}
.cbd-mt-bar{flex:1;height:6px;background:#eef0f4;border-radius:6px;overflow:hidden;min-width:60px}
.cbd-mt-bar-fill{display:block;height:100%;background:var(--mt-primary);border-radius:6px;transition:width .4s ease}

/* Badges */
.cbd-mt-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:700;border-radius:6px;padding:4px 9px;line-height:1}
.cbd-mt-badge-success{background:var(--mt-success-light);color:var(--mt-success)}
.cbd-mt-badge-info{background:var(--mt-info-light);color:var(--mt-info)}
.cbd-mt-badge-muted{background:#f4f4f6;color:var(--mt-gray-500)}
.cbd-mt-badge-today{background:var(--mt-primary);color:#fff;margin-left:8px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px}

/* Upsell banner */
.cbd-mt-upsell{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 22px;background:linear-gradient(90deg,var(--mt-primary-light),#fff);border:1px solid var(--mt-border);border-radius:var(--mt-radius)}
.cbd-mt-upsell-icon{flex:0 0 auto;width:44px;height:44px;border-radius:.65rem;background:#fff;border:1px solid var(--mt-border);display:flex;align-items:center;justify-content:center;color:var(--mt-primary)}
.cbd-mt-upsell-icon .cbd-icon{width:24px;height:24px}
.cbd-mt-upsell-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.cbd-mt-upsell-text strong{font-size:14px;font-weight:700;color:var(--mt-gray-900)}
.cbd-mt-upsell-text span{font-size:12.5px;color:var(--mt-gray-600)}
.cbd-mt-upsell-btn{flex:0 0 auto;display:inline-flex;align-items:center;background:var(--mt-primary);color:#fff!important;font-size:13px;font-weight:600;padding:9px 18px;border-radius:7px;text-decoration:none;transition:background .2s ease}
.cbd-mt-upsell-btn:hover{background:#0095e8;color:#fff}

@media (max-width:782px){
  .cbd-mt-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){
  .cbd-mt-stats{grid-template-columns:1fr}
  .cbd-mt-upsell{flex-wrap:wrap}
}

/* ---- Plan Usage (Metronic 8) ---- */
.cbd-mt-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cbd-mt-plan-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--mt-primary);background:var(--mt-primary-light);border:1px solid #d6efff;border-radius:8px;padding:8px 14px;white-space:nowrap;text-transform:capitalize}
.cbd-mt-plan-pill .cbd-icon{width:17px;height:17px}
.cbd-mt-plan-elite{color:#b78103;background:var(--mt-warning-light);border-color:#ffeaa0}

/* Usage gauges */
.cbd-mt-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}
.cbd-mt-gauge{background:#fff;border:1px solid var(--mt-border);border-radius:var(--mt-radius);padding:20px}
.cbd-mt-gauge-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.cbd-mt-gauge-label{font-size:13px;font-weight:600;color:var(--mt-gray-600)}
.cbd-mt-gauge-count{font-size:13px;color:var(--mt-gray-500);white-space:nowrap}
.cbd-mt-gauge-count strong{font-size:20px;font-weight:700;color:var(--mt-gray-900);margin-right:1px}
.cbd-mt-gauge-bar{height:8px;background:#eef0f4;border-radius:6px;overflow:hidden}
.cbd-mt-gauge-fill{display:block;height:100%;border-radius:6px;background:var(--mt-primary);transition:width .5s ease}
.cbd-mt-accent-success .cbd-mt-gauge-fill{background:var(--mt-success)}
.cbd-mt-accent-warning .cbd-mt-gauge-fill{background:var(--mt-warning)}
.cbd-mt-accent-danger .cbd-mt-gauge-fill{background:var(--mt-danger)}
.cbd-mt-accent-info .cbd-mt-gauge-fill{background:var(--mt-info)}
.cbd-mt-gauge-warn{display:block;margin-top:10px;font-size:12px;font-weight:600;color:var(--mt-danger)}

/* Plan features list */
.cbd-mt-features{list-style:none;margin:0;padding:0}
.cbd-mt-feature{display:flex;align-items:center;gap:12px;padding:14px 24px;font-size:14px;font-weight:500;color:var(--mt-gray-900);border-bottom:1px dashed var(--mt-border)}
.cbd-mt-features li:last-child{border-bottom:none}
.cbd-mt-feature-icon{flex:0 0 auto;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.cbd-mt-feature.is-on .cbd-mt-feature-icon{background:var(--mt-success-light);color:var(--mt-success)}
.cbd-mt-feature.is-off{color:var(--mt-gray-500)}
.cbd-mt-feature.is-off .cbd-mt-feature-icon{background:#f4f4f6;color:var(--mt-gray-500)}
.cbd-mt-features-card{margin-bottom:0}

@media (max-width:782px){
  .cbd-mt-gauges{grid-template-columns:1fr}
}

/* ============================================================
   Register form — Metronic 8 styling (scoped to #cbd-register-form
   + its .cbd-register-form wrapper; other forms unaffected)
   ============================================================ */
.cbd-register-form{
  --mt-primary:#009ef7;--mt-primary-light:#f1faff;--mt-danger:#f1416c;
  --mt-gray-900:#181c32;--mt-gray-600:#7e8299;--mt-gray-500:#a1a5b7;
  --mt-border:#eef0f3;--mt-radius:.85rem;
  max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--mt-border);
  border-radius:1rem;padding:36px 40px;box-shadow:0 .5rem 1.5rem .5rem rgba(24,28,50,.04);
  counter-reset:cbd-sec;
}
.cbd-register-form .cbd-form-title{font-size:26px;font-weight:800;color:var(--mt-gray-900);letter-spacing:-.02em;margin:0 0 6px}
.cbd-register-form .cbd-form-sub{font-size:14px;color:var(--mt-gray-500);margin:0 0 28px}

/* Numbered section "stepper" headings */
#cbd-register-form .cbd-form-section{margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid var(--mt-border)}
#cbd-register-form .cbd-form-section:last-of-type{border-bottom:none}
#cbd-register-form .cbd-form-section h3{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:var(--mt-gray-900);margin:0 0 18px}
#cbd-register-form .cbd-form-section h3::before{counter-increment:cbd-sec;content:counter(cbd-sec);flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:var(--mt-primary-light);color:var(--mt-primary);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* Inputs */
#cbd-register-form .cbd-form-row label{font-size:12.5px;font-weight:600;color:var(--mt-gray-600);letter-spacing:.01em}
#cbd-register-form .cbd-form-row .req{color:var(--mt-danger);font-weight:700}
#cbd-register-form .cbd-form-row input,
#cbd-register-form .cbd-form-row select,
#cbd-register-form .cbd-form-row textarea{
  min-height:46px;padding:11px 14px;border:1.5px solid var(--mt-border);border-radius:.6rem!important;
  font-size:14px;color:var(--mt-gray-900);background:#fcfcfd;transition:border-color .2s,box-shadow .2s,background .2s;
}
#cbd-register-form .cbd-form-row textarea{min-height:120px}
#cbd-register-form .cbd-form-row input:hover,
#cbd-register-form .cbd-form-row select:hover,
#cbd-register-form .cbd-form-row textarea:hover{border-color:#d8dbe3}
#cbd-register-form .cbd-form-row input:focus,
#cbd-register-form .cbd-form-row select:focus,
#cbd-register-form .cbd-form-row textarea:focus{outline:none;background:#fff;border-color:var(--mt-primary);box-shadow:0 0 0 3px rgba(0,158,247,.15)}
#cbd-register-form .cbd-form-row small{font-size:11.5px;color:var(--mt-gray-500)}

/* Opening hours rows as tidy chips */
#cbd-register-form .cbd-hours-grid{gap:10px}
#cbd-register-form .cbd-hours-row{padding:10px 14px;background:#fcfcfd;border:1px solid var(--mt-border);border-radius:.6rem}
#cbd-register-form .cbd-hours-day{min-width:130px;font-size:13.5px;font-weight:600;color:var(--mt-gray-900)}
#cbd-register-form .cbd-hours-day input[type=checkbox]{width:17px;height:17px;accent-color:var(--mt-primary)}
#cbd-register-form .cbd-hours-row input[type=time]{min-height:38px;border:1.5px solid var(--mt-border);border-radius:.5rem;background:#fff}

/* Submit */
#cbd-register-form .cbd-form-actions{margin-top:28px;gap:10px}
#cbd-register-form #cbd-register-btn{width:100%;justify-content:center;min-height:50px;font-size:15px;font-weight:700;border-radius:.65rem;background:var(--mt-primary);border:none;box-shadow:0 6px 16px -4px rgba(0,158,247,.45);transition:background .2s,transform .15s,box-shadow .2s}
#cbd-register-form #cbd-register-btn:hover{background:#0095e8;transform:translateY(-1px);box-shadow:0 8px 20px -4px rgba(0,158,247,.5)}
#cbd-register-form .cbd-form-note{font-size:12px;color:var(--mt-gray-500);text-align:center}

@media (max-width:600px){
  .cbd-register-form{padding:24px 20px}
}

.cbd-react-picker .cbd-react-opt{
  border-radius: 50px;
  padding: 5px!important;
  background: none;
  border: none!important;
}
.cbd-react-picker .cbd-react-opt:hover{
  background: #ddd;
}

.cbd-react-picker .cbd-react-opt img{
  min-width: 18px!important;
  min-height: 18px!important;
}



.cbd-settings-menu .cbd-settings-item{
  text-align: left;
  background: none;
  border: none;
  padding-left: 10px;
}
.cbd-profile-headline .cbd-profile-name{
  font-size: 24px;
}

.cbd-modal-wrap h2,
.cbd-profile-body h2{
  font-size: 22px;
}
.cbd-modal-wrap h3,
.cbd-profile-body h3{
  font-size: 20px;
}

/* ── Account dropdown (header avatar menu) ── */
.cbd-account{position:relative;display:inline-block}
.cbd-account-avatar{padding:0;border:none;background:none;cursor:pointer;border-radius:50%;width:40px;height:40px;overflow:hidden;display:inline-block}
.cbd-account-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.cbd-account-login{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  border-radius:var(--cbd-radius-sm,8px);
  background:#29ABE1;
  color:#fff!important;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  width: max-content;
}
.cbd-account-login:hover{background:#0E7490;color:#fff}
.cbd-account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px 0;z-index:1000;font-family:var(--cbd-font-body,inherit)}
.cbd-account-menu[hidden]{display:none}
.cbd-account-menu a,.cbd-account-menu button.cbd-menu-item{display:flex;align-items:center;gap:10px;padding:9px 14px;color:#181c32;text-decoration:none;font-size:14px;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}
.cbd-account-menu a:hover,.cbd-account-menu button.cbd-menu-item:hover{background:#f3f4f6;color:#0E7490}
.cbd-account-menu svg{width:20px;height:20px;flex-shrink:0;fill:currentColor}
.cbd-account-user{display:flex;align-items:center;gap:10px;padding:10px 14px 12px;border-bottom:1px solid #eef0f3;margin-bottom:6px}
.cbd-account-user img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.cbd-account-name{font-weight:700;font-size:14px;color:#181c32;line-height:1.2}
.cbd-account-email{font-size:12px;color:#6b7280;margin-top:2px;word-break:break-all}
.cbd-account-divider{height:1px;background:#eef0f3;margin:6px 0}
.cbd-account-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-size:14px;color:#181c32;cursor:pointer}
.cbd-account-toggle-row:hover{background:#f3f4f6}
/* "My Page" parent + businesses flyout submenu (owners of 2+ listings) */
.cbd-menu-parent{position:relative}
.cbd-menu-parent .cbd-menu-row{padding-right:36px}
/* Qualified with .cbd-menu-parent (0,2,0) so it outranks the Elementor kit's
   `.elementor-kit-6 button` (0,1,1), which otherwise forces a white chevron,
   a colored background and a 4px border-radius onto this toggle. The extra
   resets (margin/padding/border-radius/box-shadow/min-height) strip the kit's
   button defaults so it renders as a bare icon button again. */
.cbd-menu-parent .cbd-submenu-toggle{position:absolute;top:0;right:0;height:100%;width:36px;min-height:0;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:0;background:none;box-shadow:none;cursor:pointer;color:#9ca3af;font-size:20px;line-height:1}
.cbd-menu-parent .cbd-submenu-toggle:hover,
.cbd-menu-parent .cbd-submenu-toggle:focus{background:none;color:#0E7490;box-shadow:none;outline:none}
.cbd-account-submenu{position:absolute;right:100%;top:-8px;min-width:200px;max-width:260px;max-height:320px;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px 0;display:none;z-index:1001}
/* Long business names stay on one line (no horizontal scroll). */
.cbd-account-submenu a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Hover bridge lives on the PARENT (not the scrolling submenu, where it would
   add a horizontal scrollbar) so the cursor can cross the seam into the flyout
   without :hover dropping and closing it. */
.cbd-menu-parent::after{content:"";position:absolute;top:-8px;right:100%;width:16px;height:60px}
.cbd-menu-parent:hover .cbd-account-submenu,.cbd-menu-parent:focus-within .cbd-account-submenu,.cbd-menu-parent.is-open .cbd-account-submenu{display:block}
.cbd-submenu-head{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:2px 14px 6px;font-weight:600}
/* "Page Profile" edit form — section headings + locked (read-only) look */
.cbd-form-section-title{margin:20px 0 6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-top:1px solid #eef0f3;padding-top:16px}
.cbd-form.is-locked input:disabled,.cbd-form.is-locked select:disabled,.cbd-form.is-locked textarea:disabled{background:#f9fafb;color:#4b5563;-webkit-text-fill-color:#4b5563;opacity:1;cursor:default}
.cbd-form.is-locked .cbd-wysiwyg{
  pointer-events: none;
}
.cbd-form.is-locked .cbd-wysiwyg .ql-toolbar{
  display: none;
}
.cbd-form.is-locked .cbd-wysiwyg .cbd-wysiwyg-editor{
  pointer-events: none;
  background: #f9fafb;
  border-radius: 8px;
  border: 1px solid var(--cbd-border-strong)!important;
}

.cbd-form.is-locked .cbd-media-cols{display:none}
/* Keep emoji inline-sized in the editor and rendered content. WordPress replaces
   typed emoji with twemoji <img class="emoji" src="…s.w.org/…/emoji/…"> (even
   inside the Quill editor, which Quill then saves), and the picker can embed
   Fluent-emoji SVGs (no class). A broad "img{max-width:100%}" content rule would
   otherwise blow them up — match WP twemoji (img.emoji / the emoji src) AND the
   Fluent SVGs everywhere plugin emoji can appear, including the live editor. */
.cbd-wysiwyg img.emoji,
.cbd-wysiwyg img[src*="fluent-emoji"],
.cbd-wysiwyg img[src*="/emoji/"],
.ql-editor img.emoji,
.ql-editor img[src*="fluent-emoji"],
.ql-editor img[src*="/emoji/"],
.cbd-profile-description img.emoji,
.cbd-profile-description img[src*="fluent-emoji"],
.cbd-profile-description img[src*="/emoji/"],
.cbd-feed-modal-content img.emoji,
.cbd-feed-modal-content img[src*="fluent-emoji"],
.cbd-feed-modal-content img[src*="/emoji/"],
.cbd-feed-text img.emoji,
.cbd-feed-text img[src*="fluent-emoji"],
.cbd-feed-text img[src*="/emoji/"]{
	display:inline-block!important;width:1.3em!important;height:1.3em!important;
	max-width:1.3em!important;margin:0 .05em;vertical-align:-.25em;border-radius:0!important
}

.cbd-wysiwyg{
  
}
/* Active business in the account "My Page" flyout */
.cbd-account-submenu a.is-active{background:#eef6ff;color:#0E7490;font-weight:600}
/* Dark-mode pill toggle — its own class so it never collides with the
   input-based .cbd-toggle-switch used by [cbd_plans] (lines ~679). */
.cbd-dark-switch{width:36px;height:20px;background:#d1d5db;border-radius:20px;position:relative;transition:background .15s;flex:0 0 auto}
.cbd-dark-switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cbd-dark-switch.is-on{background:#29ABE1}
.cbd-dark-switch.is-on::after{left:18px}
.cbd-form.is-locked .cbd-form-cols:nth-child(1){
  display: none!important;
}

/* Theme-override guards — Hello/Elementor frequently add borders, outlines,
   box-shadows, max-width and link colours to buttons/images/anchors in the
   header where the avatar trigger lives. These higher-specificity rules
   (and !important on the avatar frame) keep the menu looking right. */
.cbd-account .cbd-account-avatar{border:0!important;outline:0;box-shadow:none!important;background:none!important;border-radius:50%!important;overflow:hidden;padding:0!important;line-height:0;-webkit-appearance:none;appearance:none}
.cbd-account .cbd-account-avatar:focus-visible{outline:2px solid #29ABE1!important;outline-offset:2px}
.cbd-account .cbd-account-avatar img{border:0!important;border-radius:50%!important;max-width:none;width:100%;height:100%;object-fit:cover;margin:0;padding:0;box-shadow:none!important}
.cbd-account .cbd-account-menu a{box-shadow:none;text-decoration:none;border:0;border-radius:0}
.cbd-account .cbd-account-menu a:hover{text-decoration:none;color:#0E7490}
.cbd-account .cbd-account-menu img{max-width:none;box-shadow:none;border:0}

/* ── Social-provider badge (which network the account signed in with) ── */
.cbd-provider-badge{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:2px 9px 2px 6px;border-radius:20px;background:#f1f3f7;font-size:11px;font-weight:600;color:#475569;line-height:1.6}
.cbd-provider-badge svg{width:14px;height:14px;flex:0 0 auto}
.cbd-account .cbd-account-menu .cbd-provider-badge svg{width:14px;height:14px} /* beat the generic 20px menu-svg rule */
.cbd-provider-google{background:#fef7e6;color:#9a6a00}
.cbd-provider-facebook{background:#eaf1fd;color:#1456b8}
.cbd-provider-twitter{background:#e8eaed;color:#1b1f24}
.cbd-provider-instagram{background:#fdecf1;color:#b32253}

/* ── Account-settings profile modal ── */
.cbd-profile-modal-inner{max-width:480px}
.cbd-profile-head{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 22px}
.cbd-profile-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--cbd-surface-2,#eef0f3);box-shadow:var(--cbd-shadow,0 4px 14px rgba(0,0,0,.08))}
.cbd-profile-modal-inner .cbd-field{display:block;margin:0 0 16px}
.cbd-profile-modal-inner .cbd-field>span{display:block;font-size:13px;font-weight:600;color:var(--cbd-ink,#181c32);margin:0 0 6px}
.cbd-profile-modal-inner .cbd-field input{width:100%;padding:10px 12px;border:1.5px solid var(--cbd-border,#d1d5db);border-radius:var(--cbd-radius,8px);font-size:14px;background:#fff;color:var(--cbd-ink,#181c32)}
.cbd-profile-modal-inner .cbd-field input:focus{outline:none;border-color:var(--cbd-primary,#0E7490);box-shadow:0 0 0 3px rgba(14,116,144,.12)}
.cbd-profile-modal-inner .cbd-field input[disabled]{background:#f3f4f6;color:#6b7280;cursor:not-allowed}
.cbd-field-row{display:flex;gap:14px}
.cbd-field-row .cbd-field{flex:1}
.cbd-field-hint{display:block;font-size:11.5px;color:#6b7280;margin-top:5px}
.cbd-field-section{margin:4px 0 12px;padding-top:16px;border-top:1px solid var(--cbd-border,#eef0f3)}
.cbd-field-section-title{display:block;font-size:14px;font-weight:700;color:var(--cbd-ink,#181c32)}
@media(max-width:480px){.cbd-field-row{flex-direction:column;gap:0}}

/* ── "My Activities" modal ── */
.cbd-activities-modal-inner{max-width:560px}
.cbd-activities-body{min-height:140px;max-height:60vh;overflow-y:auto;margin:0 -6px}
.cbd-act-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--cbd-border,#eef0f3);margin:0 6px 8px;padding-bottom:10px;position:sticky;top:0;background:#fff;z-index:1}
.cbd-act-tab.cbd-act-tab{background:none;border:none;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:#6b7280;padding:6px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}
.cbd-act-tab:hover{background:#f3f4f6;color:var(--cbd-ink,#181c32)}
.cbd-act-tab.is-active{background:var(--cbd-primary,#0E7490);color:#fff}
.cbd-act-count{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);color:inherit;border-radius:20px;padding:1px 7px;min-width:18px;text-align:center;line-height:1.5}
.cbd-act-tab.is-active .cbd-act-count{background:rgba(255,255,255,.25)}
.cbd-act-panel[hidden]{display:none}
.cbd-activities-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cbd-activity-row{display:flex;align-items:center;gap:12px;padding:11px 6px;border-bottom:1px solid var(--cbd-border,#eef0f3)}
.cbd-activity-row:last-child{border-bottom:none}
.cbd-activity-ico{font-size:19px;line-height:1;flex:0 0 auto;width:26px;text-align:center}
.cbd-activity-main{display:flex;flex-direction:column;flex:1;min-width:0}
.cbd-activity-link{font-weight:600;font-size:14px;color:var(--cbd-ink,#181c32);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.cbd-activity-link:hover{color:var(--cbd-primary,#0E7490)}
.cbd-activity-sub{font-size:12px;color:#6b7280;margin-top:2px}
.cbd-activity-status{flex:0 0 auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;background:#f1f3f7;color:#475569}
.cbd-status-publish,.cbd-status-active,.cbd-status-approved{background:#e7f6ec;color:#1e7e45}
.cbd-status-pending{background:#fef3e2;color:#a96a16}
.cbd-status-draft,.cbd-status-rejected{background:#fdecec;color:#b3372e}

/* ── Login page ── */
.cbd-login-wrap{max-width:420px;margin:40px auto;padding:32px;background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.06);font-family:var(--cbd-font-body,inherit)}
.cbd-icon{width:1.25em;height:1.25em;display:inline-block;vertical-align:middle;flex:0 0 auto;fill:currentColor}
.cbd-login-logo{text-align:center;margin:0 0 18px}
.cbd-login-logo img{max-width:180px;max-height:64px;width:auto;height:auto;display:inline-block}
.cbd-forgot-modal-inner .cbd-login-logo{margin-bottom:12px}
.cbd-forgot-modal-inner .cbd-login-logo img{max-height:52px}
.cbd-login-wrap h2{margin:0 0 6px;font-size:24px;color:#181c32;text-align:center}
.cbd-login-sub{text-align:center;color:#6b7280;margin:0 0 24px;font-size:14px}
.cbd-login-form .cbd-form-row{margin-bottom:14px}
.cbd-login-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151}
.cbd-login-form input[type=email],.cbd-login-form input[type=password],.cbd-login-form input[type=text]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box}
.cbd-login-form input:focus{outline:none;border-color:#29ABE1;box-shadow:0 0 0 3px rgba(41,171,225,.15)}
.cbd-login-form small{display:block;margin-top:5px;font-size:12px;color:#9ca3af;font-weight:400}
.cbd-login-form .cbd-form-cols{display:flex;gap:12px}
.cbd-login-form .cbd-form-cols .cbd-form-row{flex:1}
@media(max-width:480px){.cbd-login-form .cbd-form-cols{flex-direction:column;gap:0}}
/* Post-signup "check your inbox" panel (form is swapped out by JS). */
.cbd-signup-done{text-align:center}
.cbd-signup-done .cbd-signup-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#ecfdf5;color:#059669;display:flex;align-items:center;justify-content:center;font-size:28px}
.cbd-signup-done h3{margin:0 0 8px;font-size:18px;color:#181c32}
.cbd-signup-done p{font-size:14px;line-height:1.6;color:#6b7280;margin:0 0 16px}
.cbd-signup-resend{background:none;border:none;color:#29ABE1;font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}
.cbd-signup-resend:disabled{color:#9ca3af;cursor:default;text-decoration:none}
.cbd-login-submit{width:100%;padding:11px;background:#29ABE1;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:background .15s}
.cbd-login-submit:hover{background:#0E7490}
.cbd-login-submit:disabled{opacity:.6;cursor:not-allowed}
.cbd-login-divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:#9ca3af;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.cbd-login-divider::before,.cbd-login-divider::after{content:"";flex:1;height:1px;background:#e5e7eb}
.cbd-social-list{display:flex;flex-direction:column;gap:10px}
.cbd-social-btn.cbd-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#181c32;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .15s}
.cbd-social-btn:hover{box-shadow:0 1px 4px rgba(0,0,0,.12)}
.cbd-social-btn svg{width:18px;height:18px;flex:0 0 auto}
.cbd-social-google:hover{background:#f9fafb;border-color:#9aa0a6}
.cbd-social-facebook{background:#1877F2;color:#fff;border-color:#1877F2}
.cbd-social-facebook:hover{background:#0E5FCB;color:#fff;border-color:#0E5FCB}
.cbd-social-twitter{background:#000;color:#fff;border-color:#000}
.cbd-social-twitter:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.cbd-social-twitter svg{color:#fff}
.cbd-social-instagram{background:#fff;color:#181c32;border-color:#d1d5db}
.cbd-social-instagram:hover{background:#fdf4f9;border-color:#bc3081}
.cbd-login-footer{text-align:center;font-size:13px;color:#6b7280;margin-top:18px}
.cbd-login-footer a{color:#29ABE1;text-decoration:none}
.cbd-login-pass-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cbd-setpw-input{position:relative;display:flex;align-items:center}
.cbd-setpw-input input{flex:1;padding-right:42px}
.cbd-setpw-toggle.cbd-setpw-toggle{position:absolute;right:6px;border:none;background:none;cursor:pointer;font-size:16px;line-height:1;padding:6px;opacity:.65}
.cbd-setpw-toggle:hover{opacity:1}
.cbd-login-forgot{font-size:12.5px;color:#29ABE1;text-decoration:none}
.cbd-login-forgot:hover{text-decoration:underline}
.cbd-login-msg{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:13px;display:none}
.cbd-login-msg.is-error{background:#fef2f2;color:#991b1b;display:block}
.cbd-login-msg.is-success{background:#ecfdf5;color:#065f46;display:block}

/* ── WYSIWYG (Quill) — match the plugin's form fields ──────────── */
.cbd-wysiwyg{margin-bottom:4px}
.cbd-wysiwyg .ql-toolbar.ql-snow,.cbd-wysiwyg .ql-container.ql-snow{border-color:#d1d5db}
.cbd-wysiwyg .ql-toolbar.ql-snow{border-top-left-radius:8px;border-top-right-radius:8px;background:#f9fafb}
.cbd-wysiwyg .ql-container.ql-snow{border-bottom-left-radius:8px;border-bottom-right-radius:8px;font-family:var(--cbd-font-body,inherit);font-size:14px}
.cbd-wysiwyg .ql-editor{min-height:140px}
.cbd-wysiwyg .ql-editor.ql-blank::before{color:#9ca3af;font-style:normal}
.cbd-wysiwyg:focus-within .ql-container.ql-snow,.cbd-wysiwyg:focus-within .ql-toolbar.ql-snow{border-color:#009ef7}
.cbd-wysiwyg-invalid .ql-toolbar.ql-snow,.cbd-wysiwyg-invalid .ql-container.ql-snow{border-color:#f1416c;box-shadow:0 0 0 3px rgba(241,65,108,.15)}
.cbd-ql-emoji{width:28px;height:24px;font-size:15px;line-height:1;background:none;border:none;cursor:pointer;padding:0}
.cbd-ql-emoji:hover{opacity:.7}

/* ── CBD archive pages (post-type & taxonomy archives) ────────── */
.cbd-archive-page{padding:32px 0 48px}
.cbd-archive-head{margin-bottom:8px}
.cbd-archive-title{margin:0 0 6px;font-size:30px;color:var(--cbd-navy,#181c32)}
.cbd-archive-desc{margin:0;color:#6b7280;font-size:15px;max-width:680px}

/* ── Bizcard/card action buttons, event footer, directory, emoji picker ── */
.cbd-account{
  display: flex;
  align-items: center;
}
.cbd-feed-bizcard-actions .cbd-btn,
.cbd-card-actions .cbd-btn{
  color: var(--cbd-ink-muted);
  background: none;
  padding: 0!important;
}

.cbd-feed-bizcard-actions .cbd-btn:hover,
.cbd-card-actions .cbd-btn:hover{
  color: var(--cbd-coral);
}

.cbd-feed-bizcard-actions .cbd-follow-btn:hover,
.cbd-card-actions .cbd-follow-btn:hover{
  color: var(--cbd-primary);
}

.cbd-feed-bizcard-actions .is-favorited,
.cbd-card-actions .is-favorited{
  color: var(--cbd-coral);
}

.cbd-feed-bizcard-actions .is-following,
.cbd-card-actions .is-following{
  color: var(--cbd-primary);
  background: var(--cbd-primary-light);
  border: 1px solid var(--cbd-primary)!important;
  padding: 5px 10px!important;
}

.cbd-feed-bizcard-actions .cbd-fav-btn,
.cbd-card-actions .cbd-fav-btn{
  font-size: 24px!important;
  width: 18px;
  height: 18px;
}

.cbd-feed-bizcard .cbd-feed-bizcard-name{
  font-size: 17px;
}

.cbd-event-footer a{
  border-radius: 3px!important;
}
.cbd-event-footer a:nth-child(1){
  color: #fff;
  background: var(--cbd-primary);
}
.cbd-event-footer a:nth-child(1):hover{
  background: #0E7490;
}


/* DIRECTORY PAGE */
#cbd-directory-wrap{
  padding-top: 50px;
  padding-bottom: 80px;
}

/* EMOJI PICKER */
.ws-emoji-picker .ws-emoji-section{
  font-size: 14px;
  font-weight: 400;
  color: var(--cbd-ink);
}
.ws-emoji-picker .ws-emoji-close{
  color: var(--cbd-ink);
}

/* ── Events page: priority group headers, per-card status pill, autoload ── */
.cbd-lm-group{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:10px 0 0;font-size:15px;font-weight:800;color:var(--cbd-navy,#181c32)}
.cbd-lm-group:first-child{margin-top:0}
.cbd-lm-group::after{content:"";flex:1;height:1px;background:var(--cbd-border,#eef0f3)}
.cbd-lm-group[data-group="current"],
.cbd-lm-group[data-group="active"]{color:#1f9d57}

/* Infinite scroll: hide the button, show a spinner in the foot sentinel. */
.cbd-lm-autoload .cbd-lm-btn{display:none}
.cbd-lm-autoload .cbd-lm-foot{display:flex;align-items:center;justify-content:center;min-height:54px;padding:14px 0}
.cbd-lm-autoload .cbd-lm-foot::before{content:"";display:inline-block;width:30px;height:30px;border:3px solid var(--cbd-border,#eef0f3);border-top-color:var(--cbd-primary,#009ef7);border-radius:50%;animation:cbd-spin .8s linear infinite}

.cbd-event-status{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-bottom:10px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cbd-event-status-upcoming{color:var(--cbd-primary,#009ef7);background:var(--cbd-primary-light,#f1faff)}
.cbd-event-status-current{color:#1f9d57;background:#e8fff3}
.cbd-event-status-current::before{content:"";width:7px;height:7px;border-radius:50%;background:#1f9d57;animation:cbd-pulse 1.6s infinite}
.cbd-event-status-past{color:#6b7280;background:#f1f1f4}
@keyframes cbd-pulse{0%{box-shadow:0 0 0 0 rgba(31,157,87,.5)}70%{box-shadow:0 0 0 6px rgba(31,157,87,0)}100%{box-shadow:0 0 0 0 rgba(31,157,87,0)}}

/* Promotions page: per-card status pill (Active / Upcoming / Expired) */
.cbd-promo-status{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-bottom:8px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cbd-promo-status-active{color:#1f9d57;background:#e8fff3}
.cbd-promo-status-active::before{content:"";width:7px;height:7px;border-radius:50%;background:#1f9d57;animation:cbd-pulse 1.6s infinite}
.cbd-promo-status-upcoming{color:var(--cbd-primary,#009ef7);background:var(--cbd-primary-light,#f1faff)}
.cbd-promo-status-expired{color:#6b7280;background:#f1f1f4}

/* ── [cbd_gallery]: full-height bento collage that slides right-to-left ── */
.cbd-gallery-collage{display:block;min-height: 75vh;height:75vh;max-height: 75vh;width:100%;overflow:hidden}
.cbd-gallery-collage.is-fill{height:100vh}            /* JS refines to fit under the header */
.cbd-gallery-track{display:flex;height:100%;width:max-content;animation:cbd-gal-slide var(--cbd-gal-dur,90s) linear infinite;will-change:transform}
.cbd-gallery-collage:hover .cbd-gallery-track{animation-play-state:paused}
@keyframes cbd-gal-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Each unit is a self-contained, fully-tiled 4×3 bento → units tile perfectly,
   so duplicating the set loops seamlessly at -50%. Width set by JS (px) for
   reliable max-content sizing; aspect-ratio is the fallback when unset. */
.cbd-gallery-unit{flex:0 0 auto;height:100%;width:var(--cbd-gal-unitw);aspect-ratio:4/3;margin-right:12px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:12px}
.cbd-gallery-cell{position:relative;overflow:hidden;border-radius:12px;background:var(--cbd-surface-2,#f4f6f8)}
.cbd-gallery-photo{display:block;width:100%;height:100%;position:relative;background:var(--cbd-surface-2,#eef1f4)}
/* Skeleton shimmer shown until the photo loads (JS toggles .is-loaded). */
.cbd-gallery-photo::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.6) 50%,transparent 75%);background-size:220% 100%;animation:cbd-gal-shimmer 1.25s linear infinite}
.cbd-gallery-photo.is-loaded::before{content:none;animation:none}
.cbd-gallery-photo img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:transform .4s ease,opacity .5s ease}
.cbd-gallery-photo.is-loaded img{opacity:1}
.cbd-gallery-cell:hover .cbd-gallery-photo img{transform:scale(1.05)}
@keyframes cbd-gal-shimmer{from{background-position:220% 0}to{background-position:-220% 0}}
@media (prefers-reduced-motion: reduce){.cbd-gallery-photo::before{animation:none}}
/* Bento slots inside each 4-col × 3-row unit: 2×2 hero, a wide top, two small,
   a wide bottom, two small. */
.cbd-gx-1{grid-column:1/3;grid-row:1/3}
.cbd-gx-2{grid-column:3/5;grid-row:1/2}
.cbd-gx-3{grid-column:3/4;grid-row:2/3}
.cbd-gx-4{grid-column:4/5;grid-row:2/3}
.cbd-gx-5{grid-column:1/3;grid-row:3/4}
.cbd-gx-6{grid-column:3/4;grid-row:3/4}
.cbd-gx-7{grid-column:4/5;grid-row:3/4}
/* ── Mosaic preset: a 16-col × 3-row unit built from 8 column modules, each a
   uniform 2-col × 3-row block, in a fixed left-to-right run (style="mosaic").
   Tighter gaps + radius so tiles read as one packed wall. Aspect 16/3 makes each
   unit wide; JS sizes width from data-ratio. */
.cbd-gallery-collage.cbd-gallery-mosaic .cbd-gallery-unit{aspect-ratio:16/3;grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(3,1fr);gap:6px;margin-right:6px}
.cbd-gallery-collage.cbd-gallery-mosaic .cbd-gallery-cell{border-radius:8px}
/* 28 slots — every module fills its own 2×3 block exactly once.
   Module 1 · cols 1–2 · 2×3 singles */
.cbd-mx-1{grid-column:1/2;grid-row:1/2}
.cbd-mx-2{grid-column:2/3;grid-row:1/2}
.cbd-mx-3{grid-column:1/2;grid-row:2/3}
.cbd-mx-4{grid-column:2/3;grid-row:2/3}
.cbd-mx-5{grid-column:1/2;grid-row:3/4}
.cbd-mx-6{grid-column:2/3;grid-row:3/4}
/* Module 2 · cols 3–4 · wide top over big 2×2 block */
.cbd-mx-7{grid-column:3/5;grid-row:1/2}
.cbd-mx-8{grid-column:3/5;grid-row:2/4}
/* Module 3 · cols 5–6 · wide top over 2×2 singles */
.cbd-mx-9{grid-column:5/7;grid-row:1/2}
.cbd-mx-10{grid-column:5/6;grid-row:2/3}
.cbd-mx-11{grid-column:6/7;grid-row:2/3}
.cbd-mx-12{grid-column:5/6;grid-row:3/4}
.cbd-mx-13{grid-column:6/7;grid-row:3/4}
/* Module 4 · cols 7–8 · one full 2×3 block */
.cbd-mx-14{grid-column:7/9;grid-row:1/4}
/* Module 5 · cols 9–10 · 2×3 singles */
.cbd-mx-15{grid-column:9/10;grid-row:1/2}
.cbd-mx-16{grid-column:10/11;grid-row:1/2}
.cbd-mx-17{grid-column:9/10;grid-row:2/3}
.cbd-mx-18{grid-column:10/11;grid-row:2/3}
.cbd-mx-19{grid-column:9/10;grid-row:3/4}
.cbd-mx-20{grid-column:10/11;grid-row:3/4}
/* Module 6 · cols 11–12 · wide top over big 2×2 block */
.cbd-mx-21{grid-column:11/13;grid-row:1/2}
.cbd-mx-22{grid-column:11/13;grid-row:2/4}
/* Module 7 · cols 13–14 · 2×2 singles over wide bottom */
.cbd-mx-23{grid-column:13/14;grid-row:1/2}
.cbd-mx-24{grid-column:14/15;grid-row:1/2}
.cbd-mx-25{grid-column:13/14;grid-row:2/3}
.cbd-mx-26{grid-column:14/15;grid-row:2/3}
.cbd-mx-27{grid-column:13/15;grid-row:3/4}
/* Module 8 · cols 15–16 · one full 2×3 block */
.cbd-mx-28{grid-column:15/17;grid-row:1/4}
/* "Posted by <business>" credit (.cbd-card-biz) as a bottom overlay — scoped to
   gallery cells so the inline event/promo-card usage is untouched. */
.cbd-gallery-cell .cbd-card-biz{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;margin:0;padding:26px 10px 9px;background:linear-gradient(transparent,rgba(24,28,50,.88));text-decoration:none;z-index:2}
.cbd-gallery-cell .cbd-card-biz-logo{flex:0 0 auto;width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff;border:1.5px solid rgba(255,255,255,.9)}
.cbd-gallery-cell .cbd-card-biz-logo-ph{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--cbd-navy,#181c32)}
.cbd-gallery-cell .cbd-card-biz-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.cbd-gallery-cell .cbd-card-biz-by{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.72)}
.cbd-gallery-cell .cbd-card-biz-name{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* "Posted x ago" chip, pinned upper-left. */
.cbd-gallery-cell-time{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:700;color:#fff;background:rgba(24,28,50,.6);pointer-events:none;white-space:nowrap}
.cbd-gallery-cell-time .cbd-icon{width:11px;height:11px}
@media (prefers-reduced-motion: reduce){
  .cbd-gallery-track{animation:none}
  .cbd-gallery-collage{overflow-x:auto}
}

/* ── Facebook Page ([cbd_facebook_page]) ─────────────────────────── */
.cbd-fb{width:100%}
.cbd-fb-embed{max-width:500px}
.cbd-fb-embed .fb-page,.cbd-fb-embed .fb-page span,.cbd-fb-embed iframe{max-width:100%!important}
.cbd-fb-hint{border:1px dashed var(--cbd-border-strong);border-radius:var(--cbd-radius);padding:14px 16px;background:var(--cbd-primary-light);color:var(--cbd-ink-soft);font-size:.9rem}
.cbd-fb-hint a{color:var(--cbd-primary);font-weight:600}

/* Feed (synced native cards) */
.cbd-fb-head{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.cbd-fb-mark{display:inline-flex;width:28px;height:28px;color:#1877f2;flex:0 0 auto}
.cbd-fb-mark svg{width:100%;height:100%}
.cbd-fb-head-text{font-family:var(--cbd-font-head);font-weight:700;font-size:1.05rem;color:var(--cbd-ink)}
.cbd-fb-follow{margin-left:auto;font-size:.8rem;font-weight:600;color:#fff;background:#1877f2;padding:5px 14px;border-radius:var(--cbd-radius-sm);text-decoration:none;line-height:1.4}
.cbd-fb-follow:hover{background:#0f66d0;color:#fff}
.cbd-fb-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cbd-fb-post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
.cbd-fb-post:hover{box-shadow:var(--cbd-shadow-lg);transform:translateY(-2px)}
.cbd-fb-post-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--cbd-surface)}
.cbd-fb-post-media img{width:100%;height:100%;object-fit:cover;display:block}
.cbd-fb-post-body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;flex:1 1 auto}
.cbd-fb-post-text{margin:0;font-size:.9rem;line-height:1.55;color:var(--cbd-ink-soft);word-break:break-word}
.cbd-fb-post-text a{color:var(--cbd-primary)}
.cbd-fb-post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px;font-size:.78rem;color:var(--cbd-ink-muted)}
.cbd-fb-post-meta a{color:var(--cbd-primary);font-weight:600;text-decoration:none;white-space:nowrap}
.cbd-fb-post-meta a:hover{text-decoration:underline}

/* ── Instagram ([cbd_instagram_feed]) ────────────────────────────── */
.cbd-ig{--cbd-ig-grad:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);width:100%}
.cbd-ig-hint{border:1px dashed var(--cbd-border-strong);border-radius:var(--cbd-radius);padding:14px 16px;background:var(--cbd-sky-light);color:var(--cbd-ink-soft);font-size:.9rem}
.cbd-ig-hint a{color:var(--cbd-sky);font-weight:600}

.cbd-ig-head{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.cbd-ig-mark{display:inline-flex;width:26px;height:26px;color:#dc2743;flex:0 0 auto}
.cbd-ig-mark svg{width:100%;height:100%}
.cbd-ig-head-text{font-family:var(--cbd-font-head);font-weight:700;font-size:1.05rem;color:var(--cbd-ink)}
.cbd-ig-head-text a{color:inherit;text-decoration:none}
.cbd-ig-head-text a:hover{color:#dc2743}
.cbd-ig-follow{margin-left:auto;font-size:.8rem;font-weight:600;color:#fff;background:var(--cbd-ig-grad);padding:6px 15px;border-radius:var(--cbd-radius-sm);text-decoration:none;line-height:1.4;white-space:nowrap}
.cbd-ig-follow:hover{color:#fff;filter:brightness(1.06)}

/* Grid (square tiles) */
.cbd-ig-grid{display:grid;grid-template-columns:repeat(var(--cbd-ig-cols,3),1fr);gap:4px}
.cbd-ig-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--cbd-surface);border-radius:var(--cbd-radius-xs)}
.cbd-ig-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.cbd-ig-tile:hover img{transform:scale(1.06)}
.cbd-ig-tile-caption{position:absolute;inset:0;display:flex;align-items:flex-end;padding:10px;color:#fff;font-size:.78rem;line-height:1.4;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 62%);opacity:0;transition:opacity .25s ease}
.cbd-ig-tile:hover .cbd-ig-tile-caption{opacity:1}
.cbd-ig-tile-caption span{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cbd-ig-play{position:absolute;top:8px;right:8px;width:20px;height:20px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.cbd-ig-play svg{width:100%;height:100%}
@media (max-width:600px){.cbd-ig-grid{grid-template-columns:repeat(2,1fr)}}

/* List (cards) */
.cbd-ig-list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cbd-ig-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
.cbd-ig-card:hover{box-shadow:var(--cbd-shadow-lg);transform:translateY(-2px)}
.cbd-ig-card-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--cbd-surface)}
.cbd-ig-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.cbd-ig-card-body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;flex:1 1 auto}
.cbd-ig-card-text{margin:0;font-size:.9rem;line-height:1.55;color:var(--cbd-ink-soft);word-break:break-word}
.cbd-ig-card-text a{color:var(--cbd-sky)}
.cbd-ig-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px;font-size:.78rem;color:var(--cbd-ink-muted)}
.cbd-ig-card-meta a{color:var(--cbd-sky);font-weight:600;text-decoration:none;white-space:nowrap}
.cbd-ig-card-meta a:hover{text-decoration:underline}

/* Profile card (follow CTA) */
.cbd-ig-profile{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);background:#fff;box-shadow:var(--cbd-shadow)}
.cbd-ig-profile-mark{display:inline-flex;width:46px;height:46px;color:#fff;background:var(--cbd-ig-grad);border-radius:14px;padding:10px;flex:0 0 auto}
.cbd-ig-profile-mark svg{width:100%;height:100%}
.cbd-ig-profile-text{display:flex;flex-direction:column;line-height:1.4}
.cbd-ig-profile-text strong{font-family:var(--cbd-font-head);font-size:1.02rem;color:var(--cbd-ink)}
.cbd-ig-profile-text span{font-size:.85rem;color:var(--cbd-ink-soft)}
.cbd-ig-profile .cbd-ig-follow{margin-left:auto}
@media (max-width:480px){.cbd-ig-profile{flex-wrap:wrap}.cbd-ig-profile .cbd-ig-follow{margin-left:0}}

/* ── Jobs ([cbd_jobs] + single-cbd_job) ──────────────────────────── */
.cbd-jobs-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.cbd-jobs .cbd-results-count{margin:0;font-weight:600;color:var(--cbd-ink-soft)}
.cbd-jobs-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow);padding:12px;margin:0 0 20px}
.cbd-jobs-filter-field{flex:1 1 150px;min-width:130px}
.cbd-jobs-filter-field.cbd-jobs-search{flex:2 1 240px}
.cbd-jobs-filters input,.cbd-jobs-filters select{width:100%;padding:9px 12px;border:1px solid var(--cbd-border-strong);border-radius:var(--cbd-radius-sm);background:#fff;color:var(--cbd-ink);font-size:.9rem}
.cbd-jobs-filters input:focus,.cbd-jobs-filters select:focus{outline:none;border-color:var(--cbd-primary);box-shadow:var(--cbd-ring)}
.cbd-jobs-filters .cbd-btn{flex:0 0 auto}

.cbd-jobs-list{display:flex;flex-direction:column;gap:14px}
.cbd-job-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--cbd-border);border-radius:var(--cbd-radius);box-shadow:var(--cbd-shadow);padding:16px 18px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.cbd-job-card:hover{box-shadow:var(--cbd-shadow-lg);transform:translateY(-2px)}
.cbd-job-card.is-featured{border-color:var(--cbd-amber);background:linear-gradient(180deg,var(--cbd-amber-light),#fff 60%)}
.cbd-job-card.is-expired{opacity:.72}
.cbd-job-logo{flex:0 0 auto;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--cbd-primary-light);color:var(--cbd-primary);font-family:var(--cbd-font-head);font-weight:800;font-size:1.15rem;overflow:hidden}
.cbd-job-logo img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.cbd-job-main{flex:1 1 auto;min-width:0}
.cbd-job-title{margin:0 0 3px;font-family:var(--cbd-font-head);font-size:1.08rem;line-height:1.3}
.cbd-job-title a{color:var(--cbd-ink);text-decoration:none}
.cbd-job-title a:hover{color:var(--cbd-primary)}
.cbd-job-company{margin:0 0 8px;font-size:.9rem;color:var(--cbd-ink-soft);display:flex;flex-wrap:wrap;gap:6px 12px}
.cbd-job-company .cbd-job-org{font-weight:600}
.cbd-job-tags{display:flex;flex-wrap:wrap;gap:6px}
.cbd-job-tag{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:100px;background:var(--cbd-surface);color:var(--cbd-ink-soft);border:1px solid var(--cbd-border-strong)}
.cbd-job-tag-type{background:var(--cbd-primary-light);color:var(--cbd-primary-mid);border-color:transparent}
.cbd-job-tag-wp{background:var(--cbd-sky-light);color:var(--cbd-sky);border-color:transparent}
.cbd-job-tag-salary{background:var(--cbd-success-light);color:var(--cbd-success-ink);border-color:transparent}
.cbd-job-tag-featured{background:var(--cbd-amber-light);color:var(--cbd-amber-ink);border-color:transparent}
.cbd-job-tag-expired{background:var(--cbd-coral-light);color:var(--cbd-coral-ink);border-color:transparent}
.cbd-job-metaline{margin:8px 0 0;font-size:.78rem;color:var(--cbd-ink-muted);display:flex;flex-wrap:wrap;gap:6px 14px}
.cbd-job-closing.is-past{color:var(--cbd-coral-ink);font-weight:600}
.cbd-job-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.cbd-job-actions .cbd-btn{white-space:nowrap;justify-content:center}

.cbd-jobs-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}
.cbd-jobs-pageinfo{font-size:.85rem;color:var(--cbd-ink-soft)}

/* Single job hero logo (reuses .cbd-profile-* layout) */
.cbd-job-hero-logo{flex:0 0 auto;width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--cbd-primary-light);color:var(--cbd-primary);font-family:var(--cbd-font-head);font-weight:800;font-size:1.6rem;overflow:hidden}
.cbd-job-hero-logo img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.cbd-btn.is-disabled{opacity:.55;pointer-events:none}

@media (max-width:640px){
  .cbd-job-card{flex-wrap:wrap}
  .cbd-job-logo{width:46px;height:46px;font-size:1rem}
  .cbd-job-actions{flex-direction:row;width:100%;margin-top:4px}
  .cbd-job-actions .cbd-btn{flex:1 1 0}
}
