/* ── Dropdown / Select arrow icon fix ────────────────────────────────── */
/* Restore the missing chevron arrow on admin select dropdowns */
.caledon-contacts-filter-form select.form-select,
.caledon-contacts-filter-form select.form-element,
#edit-contacts-category,
.view-filters select.form-select,
.view-filters select.form-element,
.views-exposed-form select.form-select,
.views-exposed-form select.form-element {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  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='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 16px 16px !important;
  padding-right: 34px !important;
}

/* Content overview - Title filter search icon */
.view-id-content input.admin-content-search-input {
  padding-left: 34px !important;
  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='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 10px center !important;
  background-size: 16px 16px !important;
}

/* Reset the wrapper */
.paragraphs-add-wrapper.js-form-wrapper {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  background: #f8f9ff !important;
  border: 1px solid #e0e7ff !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  margin-top: 12px !important;
}

/* Each button = 25% wide, float left = 4 per row */
.paragraphs-add-wrapper.js-form-wrapper input.field-add-more-submit {
  float: left !important;
  width: calc(25% - 6px) !important;
  margin: 0 8px 8px 0 !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  border: 1px solid #d0d5e8 !important;
  border-radius: 8px !important;
  color: #1a73e8 !important;
  font-weight: 500 !important;
  font-size: 12.5px !important;
  padding: 10px 12px 10px 36px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  background-repeat: no-repeat !important;
  background-position: 12px center !important;
  background-size: 15px 15px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: left !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  display: block !important;
}

/* Every 4th button — remove right margin */
.paragraphs-add-wrapper.js-form-wrapper input.field-add-more-submit:nth-child(4n) {
  margin-right: 0 !important;
}

.paragraphs-add-wrapper.js-form-wrapper input.field-add-more-submit:hover {
  background-color: #eef3ff !important;
  border-color: #1a73e8 !important;
  box-shadow: 0 2px 8px rgba(26,115,232,0.15) !important;
}

/* Icons */
.field--name-field-page-content input[value="Add Rich Text"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='14' y2='18'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Section Heading"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v16M16 4v16M4 12h12'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Highlight Box"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Disclaimer"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cline x1='8' y1='8' x2='16' y2='8'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3Cline x1='8' y1='16' x2='12' y2='16'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Divider"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Image Block"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Image Box Link"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3Cpath d='M15 9h.01'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Video Embed"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpolygon points='10 9 15 12 10 15 10 9' fill='%231a73e8'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Map Embed"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Banner"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Two Column Layout"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add CTA Button"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Cline x1='10' y1='12' x2='14' y2='12'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Quick Links Bar"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2' fill='%231a73e8'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Data Table"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='3' y1='15' x2='21' y2='15'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Accordion Item"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='6' rx='1'/%3E%3Crect x='3' y='13' width='18' height='8' rx='1'/%3E%3C/svg%3E") !important;
}
.field--name-field-page-content input[value="Add Accordion Group"] {
  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='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='5' rx='1'/%3E%3Crect x='3' y='10' width='18' height='5' rx='1'/%3E%3Crect x='3' y='17' width='18' height='5' rx='1'/%3E%3C/svg%3E") !important;
}

/* Color the Delete operation link red in admin views */
.dropbutton .delete a,
.dropbutton-wrapper .delete a,
.gin-table-scroll-wrapper .dropbutton .delete a {
  color: #e22c2c !important;
}
.dropbutton .delete a:hover,
.dropbutton-wrapper .delete a:hover,
.gin-table-scroll-wrapper .dropbutton .delete a:hover {
  color: #b01a1a !important;
  background-color: #fcebeb !important;
}

/* Fix AJAX throbber alignment in Hero Banner edit modal */
.toc-hero-banner-edit-form .ajax-progress-throbber {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
}
.toc-hero-banner-edit-form .ajax-progress-throbber .throbber {
  margin: 0 !important;
}
.toc-hero-banner-edit-form .ajax-progress-throbber .message {
  margin-left: 6px !important;
  font-size: 12px !important;
  color: #666 !important;
}

/* Enlarge Hero Banner image preview in the editor */
.field--name-field-hero-banner .image-preview img,
.field--name-field-hero-banner .image-widget-data__preview img,
.field--name-field-hero-banner img {
  max-width: 480px !important;
  max-height: none !important;
  width: auto !important;
  height: auto !important;
}

/* Hide revision toggle completely */
.field--name-revision,
.form-item-revision,
.gin-entity-form__revision,
.gin-sidebar__revision,
.form-item-revision-value,
.field--name-revision-log,
.form-item:has(#edit-revision),
.js-form-item:has(#edit-revision),
div:has(> #edit-revision),
label:has(> #edit-revision) {
  display: none !important;
}

/* Make status messages float like a toaster/snackbar */
div[aria-label="Status message"],
div[aria-label="Warning message"],
div[aria-label="Error message"],
.messages {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  bottom: auto !important;
  z-index: 999999 !important;
  width: auto !important;
  min-width: 300px !important;
  max-width: 450px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.2) !important;
  border-radius: 12px !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  /* Default base */
  background: #1e293b !important;
  border: 1px solid #334155 !important;
  transform: translateX(150%);
  animation: toasterLifecycle 5s ease-in-out forwards !important;
}

/* Professional Green for Success */
div[aria-label="Status message"], .messages--status {
  background: #00875a !important; 
  border: 1px solid #006b46 !important;
}

/* Professional Orange/Yellow for Warning */
div[aria-label="Warning message"], .messages--warning {
  background: #ff991f !important;
  border: 1px solid #e38200 !important;
}

/* Professional Red for Error */
div[aria-label="Error message"], .messages--error {
  background: #de350b !important;
  border: 1px solid #bf2905 !important;
}

/* Force all text inside the toaster to be crisp white for Status/Error */
div[aria-label="Status message"],
div[aria-label="Status message"] *,
div[aria-label="Error message"],
div[aria-label="Error message"] *,
.messages--status,
.messages--status *,
.messages--error,
.messages--error * {
  color: #ffffff !important;
}

/* Force warning text to be bright white */
div[aria-label="Warning message"],
div[aria-label="Warning message"] *,
.messages--warning,
.messages--warning * {
  color: #ffffff !important;
}

/* Bold white for links in Status/Error */
div[aria-label="Status message"] a,
div[aria-label="Error message"] a,
.messages--status a,
.messages--error a {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}

/* Bright white links for warnings */
div[aria-label="Warning message"] a,
.messages--warning a {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}

/* Crisp white for the SVG icons in Status/Error */
div[aria-label="Status message"] svg, .messages--status svg,
div[aria-label="Error message"] svg, .messages--error svg {
  fill: #ffffff !important; 
}

/* Bright white SVGs for warnings */
div[aria-label="Warning message"] svg, .messages--warning svg {
  fill: #ffffff !important; 
}

/* Pause the 5-second timer if the user hovers over the toaster */
div[aria-label="Status message"]:hover,
div[aria-label="Warning message"]:hover,
div[aria-label="Error message"]:hover,
.messages:hover {
  animation-play-state: paused !important;
}

@keyframes toasterLifecycle {
  0% { 
    transform: translateX(150%); 
    opacity: 0; 
  }
  8% { 
    transform: translateX(0); 
    opacity: 1; 
  }
  92% { 
    transform: translateX(0); 
    opacity: 1; 
  }
  100% { 
    transform: translateX(150%); 
    opacity: 0;
    visibility: hidden;
  }
}

/* Hide the "+ Create" title label at the top of the Create dropdown menu */
html:not(.admin-toolbar-expanded) .toolbar-menu__item--to-title > .toolbar-link--create,
html:not(.admin-toolbar-expanded) .toolbar-menu__item--to-title:has(> .toolbar-link--create) {
  display: none !important;
}

/* Add top spacing to the first item in the Create dropdown since the title is hidden */
html:not(.admin-toolbar-expanded) .toolbar-menu__item--to-title:has(> .toolbar-link--create) + .toolbar-menu__item,
html:not(.admin-toolbar-expanded) .toolbar-menu__item--to-title > .toolbar-link--create + .toolbar-menu__item {
  margin-top: 16px !important;
}

/* Sidebar icons for promoted Taxonomy and Menus / Navigation */
.toolbar-link--taxonomy::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

.toolbar-link--menus::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

.toolbar-link--alerts::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'%3E%3C/path%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'%3E%3C/path%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

.toolbar-link--contacts::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

.toolbar-link--forms::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='16' y1='13' x2='8' y2='13'%3E%3C/line%3E%3Cline x1='16' y1='17' x2='8' y2='17'%3E%3C/line%3E%3Cpolyline points='10 9 9 9 8 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}



/* ── Sidebar nav group separators (Line dividers) ── */
.admin-toolbar .toolbar-menu__item[data-url="#tools"],
.admin-toolbar .toolbar-menu__item[data-url="#admin"] {
  pointer-events: none !important; /* Disable hover effect on the li */
  margin: 12px 0 !important;
}

.toolbar-link--toc-nav-separator,
.admin-toolbar .toolbar-menu__item[data-url="#tools"] > a,
.admin-toolbar .toolbar-menu__item[data-url="#admin"] > a {
  display: block !important;
  height: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--gin-border-color, rgba(0,0,0,0.08)) !important;
  margin: 0 16px !important;
  padding: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  font-size: 0 !important;
  color: transparent !important;
  line-height: 0 !important;
}
/* Hide the icon pseudo-element on the separator */
.toolbar-link--toc-nav-separator::before,
.admin-toolbar .toolbar-menu__item[data-url="#tools"] > a::before,
.admin-toolbar .toolbar-menu__item[data-url="#admin"] > a::before {
  display: none !important;
}

/* Never display a separator if it is the last item in a menu */
.admin-toolbar .toolbar-menu > .toolbar-menu__item:last-child[data-url="#tools"],
.admin-toolbar .toolbar-menu > .toolbar-menu__item:last-child[data-url="#admin"],
.admin-toolbar .toolbar-menu > .toolbar-menu__item:last-child:has(> .toolbar-link--toc-nav-separator),
.admin-toolbar .toolbar-menu > .toolbar-menu__item:last-child > .toolbar-link--toc-nav-separator {
  display: none !important;
}

/* ── Icons for Group 1 content-type nav items ─────────────────────────── */

/* View the Website */
.toolbar-link--view-website::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Dashboard */
.toolbar-link--dashboard::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* All Content */
.toolbar-link--content::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* News and Notices */
.toolbar-link--news::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 0-2 2zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8M15 18h-5M10 6h8v4h-8V6z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Webpages / Landing Pages */
.toolbar-link--landing-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Events */
.toolbar-link--event::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Development Applications */
.toolbar-link--development-application::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Burn Permits */
.toolbar-link--burn-permits::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Property Tax Rates */
.toolbar-link--tax-rates::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='M4 8h16'/%3E%3Cpath d='M8 12h.01'/%3E%3Cpath d='M12 12h.01'/%3E%3Cpath d='M16 12h.01'/%3E%3Cpath d='M8 16h.01'/%3E%3Cpath d='M12 16h.01'/%3E%3Cpath d='M16 16h.01'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Bylaws and Policies */
.toolbar-link--legal-document::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Agendas and Minutes */
.toolbar-link--agendas-minutes::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Sub Landing Page (typical_page type) */
.toolbar-link--sub-landing-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Basic page (page type) */
.toolbar-link--basic-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Web Page (typical_page_2 type) */
.toolbar-link--web-page::before,
.toolbar-link--web-pages::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Friendly URLs (Redirect module) */
.toolbar-link--friendly-url::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Home Page */
.toolbar-link--homepage-blocks::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Custom Pages (Parent grouping) */
.toolbar-link--custom-pages::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='M9 15h6'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}


/* ── Icons for Group 2 publisher items ────────────────────────────────── */

/* Blocks */
.toolbar-link--blocks::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Media */
.toolbar-link--media::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Reports */
.toolbar-link--reports::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Users and Permissions (class = 'people', Gin's default is people icon) */
.toolbar-link--people::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Log Out (class = 'logout') */
.toolbar-link--logout::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Hide the local tasks (Content, Blocks, Comments, Files, Media) on the All Content page */
body.page-admin-content .tabs,
body.page-admin-content nav.tabs,
body.page-admin-content .gin-tabs,
body.page-admin-content ul.tabs--primary {
  display: none !important;
}

/* Restore the natural gap that was lost when tabs were hidden, using Gin's own toolbar container so JS calculations for sticky headers don't break. */
body.page-admin-content .gin-secondary-toolbar {
  min-height: 48px !important;
}

/* ─────────────────────────────────────────────────────────────
 * Beauty Super UI Center Page Loader & Button Loading System
 * ───────────────────────────────────────────────────────────── */

/* 1. Completely hide inline loaders so there are NEVER duplicate loaders */
.btn-progress-loader,
.ajax-progress:not(.admin-center-loader):not(.ajax-progress-fullscreen),
.ajax-progress-throbber:not(.admin-center-loader *),
.ui-dialog .ajax-progress-throbber,
.ajax-progress__throbber {
  display: none !important;
}

/* 2. Keep buttons visible during loading state (prevent clicks, no hide) */
.btn-is-loading,
button.btn-is-loading,
input.btn-is-loading,
a.btn-is-loading,
.button.btn-is-loading,
a.button.btn-is-loading,
.dropbutton a.btn-is-loading,
.dropbutton-action a.btn-is-loading,
.action-links a.btn-is-loading,
button:has(+ .ajax-progress),
input[type="submit"]:has(+ .ajax-progress),
input[type="button"]:has(+ .ajax-progress),
a.button:has(+ .ajax-progress),
.button:has(+ .ajax-progress) {
  pointer-events: none !important;
  opacity: 0.8 !important;
}

/* 3. Center of the page "Beauty Super UI" Loader */
@keyframes super-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes super-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 75, 150;
    stroke-dashoffset: -25;
  }
  100% {
    stroke-dasharray: 75, 150;
    stroke-dashoffset: -115;
  }
}

.admin-center-loader,
.admin-server-loader {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  z-index: 2147483647 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.24s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.24s !important;
}

.admin-center-loader.is-active,
.admin-server-loader.is-active,
body.server-loading .admin-server-loader,
body.server-loading .admin-center-loader {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.admin-center-loader__backdrop,
.admin-server-loader__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, 0.12) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.admin-center-loader__card,
.admin-server-loader__card {
  position: relative !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(24px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(190%) !important;
  box-shadow: 
    0 24px 48px -12px rgba(0, 0, 0, 0.18),
    0 8px 20px -6px rgba(0, 0, 0, 0.08),
    inset 0 1px 1px 0 rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: scale(0.8) translateY(8px);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.admin-center-loader.is-active .admin-center-loader__card,
.admin-server-loader.is-active .admin-server-loader__card,
body.server-loading .admin-server-loader__card,
body.server-loading .admin-center-loader__card {
  transform: scale(1) translateY(0);
}

.admin-super-spinner {
  width: 32px !important;
  height: 32px !important;
  animation: super-spin 1.4s linear infinite !important;
  display: block !important;
}

.admin-super-spinner .spinner-track {
  stroke: rgba(0, 102, 204, 0.12) !important;
}

.admin-super-spinner .spinner-head {
  stroke: var(--gin-color-primary, #0066cc) !important;
  stroke-linecap: round !important;
  animation: super-dash 1.4s ease-in-out infinite !important;
}

/* Gin Dark Mode for Super UI Center Loader */
.gin--dark-mode .admin-center-loader__backdrop,
.gin--dark-mode .admin-server-loader__backdrop {
  background: rgba(0, 0, 0, 0.35) !important;
}

.gin--dark-mode .admin-center-loader__card,
.gin--dark-mode .admin-server-loader__card {
  background: rgba(24, 28, 38, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 
    0 24px 48px -12px rgba(0, 0, 0, 0.55),
    0 8px 20px -6px rgba(0, 0, 0, 0.3),
    inset 0 1px 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.gin--dark-mode .admin-super-spinner .spinner-track {
  stroke: rgba(255, 255, 255, 0.12) !important;
}

.gin--dark-mode .admin-super-spinner .spinner-head {
  stroke: var(--gin-color-primary, #448fff) !important;
}

/* Hide Drupal default full-page throbbers to avoid duplicates */
.ajax-progress-fullscreen,
.ajax-progress--fullscreen {
  display: none !important;
}
/* News and Notices */
.toolbar-link--news::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 0-2 2zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8M15 18h-5M10 6h8v4h-8V6z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Webpages / Landing Pages */
.toolbar-link--landing-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Events */
.toolbar-link--event::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Development Applications */
.toolbar-link--development-application::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Burn Permits */
.toolbar-link--burn-permits::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Property Tax Rates */
.toolbar-link--tax-rates::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='M4 8h16'/%3E%3Cpath d='M8 12h.01'/%3E%3Cpath d='M12 12h.01'/%3E%3Cpath d='M16 12h.01'/%3E%3Cpath d='M8 16h.01'/%3E%3Cpath d='M12 16h.01'/%3E%3Cpath d='M16 16h.01'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Bylaws and Policies */
.toolbar-link--legal-document::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Agendas and Minutes */
.toolbar-link--agendas-minutes::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Sub Landing Page (typical_page type) */
.toolbar-link--sub-landing-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Basic page (page type) */
.toolbar-link--basic-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Web Page (typical_page_2 type) */
.toolbar-link--web-page::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Custom Pages (Parent grouping) */
.toolbar-link--custom-pages::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='M9 15h6'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}


/* ── Icons for Group 2 publisher items ────────────────────────────────── */

/* Blocks */
.toolbar-link--blocks::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Media */
.toolbar-link--media::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Reports */
.toolbar-link--reports::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Users and Permissions (class = 'people', Gin's default is people icon) */
.toolbar-link--people::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Log Out (class = 'logout') */
.toolbar-link--logout::before {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
}

/* Hide the local tasks (Content, Blocks, Comments, Files, Media) on the All Content page */
body.page-admin-content .tabs,
body.page-admin-content nav.tabs,
body.page-admin-content .gin-tabs,
body.page-admin-content ul.tabs--primary {
  display: none !important;
}

/* Restore the natural gap that was lost when tabs were hidden, using Gin's own toolbar container so JS calculations for sticky headers don't break. */
body.page-admin-content .gin-secondary-toolbar {
  min-height: 48px !important;
}

/* ─────────────────────────────────────────────────────────────
 * Beauty Super UI Center Page Loader & Button Loading System
 * ───────────────────────────────────────────────────────────── */

/* 1. Completely hide inline loaders so there are NEVER duplicate loaders */
.btn-progress-loader,
.ajax-progress:not(.admin-center-loader):not(.ajax-progress-fullscreen),
.ajax-progress-throbber:not(.admin-center-loader *),
.ui-dialog .ajax-progress-throbber,
.ajax-progress__throbber {
  display: none !important;
}

/* 2. Keep buttons visible during loading state (prevent clicks, no hide) */
.btn-is-loading,
button.btn-is-loading,
input.btn-is-loading,
a.btn-is-loading,
.button.btn-is-loading,
a.button.btn-is-loading,
.dropbutton a.btn-is-loading,
.dropbutton-action a.btn-is-loading,
.action-links a.btn-is-loading,
button:has(+ .ajax-progress),
input[type="submit"]:has(+ .ajax-progress),
input[type="button"]:has(+ .ajax-progress),
a.button:has(+ .ajax-progress),
.button:has(+ .ajax-progress) {
  pointer-events: none !important;
  opacity: 0.8 !important;
}

/* 3. Center of the page "Beauty Super UI" Loader */
@keyframes super-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes super-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 75, 150;
    stroke-dashoffset: -25;
  }
  100% {
    stroke-dasharray: 75, 150;
    stroke-dashoffset: -115;
  }
}

.admin-center-loader,
.admin-server-loader {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  z-index: 2147483647 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.24s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.24s !important;
}

.admin-center-loader.is-active,
.admin-server-loader.is-active,
body.server-loading .admin-server-loader,
body.server-loading .admin-center-loader {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.admin-center-loader__backdrop,
.admin-server-loader__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, 0.12) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.admin-center-loader__card,
.admin-server-loader__card {
  position: relative !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(24px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(190%) !important;
  box-shadow: 
    0 24px 48px -12px rgba(0, 0, 0, 0.18),
    0 8px 20px -6px rgba(0, 0, 0, 0.08),
    inset 0 1px 1px 0 rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: scale(0.8) translateY(8px);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.admin-center-loader.is-active .admin-center-loader__card,
.admin-server-loader.is-active .admin-server-loader__card,
body.server-loading .admin-server-loader__card,
body.server-loading .admin-center-loader__card {
  transform: scale(1) translateY(0);
}

.admin-super-spinner {
  width: 32px !important;
  height: 32px !important;
  animation: super-spin 1.4s linear infinite !important;
  display: block !important;
}

.admin-super-spinner .spinner-track {
  stroke: rgba(0, 102, 204, 0.12) !important;
}

.admin-super-spinner .spinner-head {
  stroke: var(--gin-color-primary, #0066cc) !important;
  stroke-linecap: round !important;
  animation: super-dash 1.4s ease-in-out infinite !important;
}

/* Gin Dark Mode for Super UI Center Loader */
.gin--dark-mode .admin-center-loader__backdrop,
.gin--dark-mode .admin-server-loader__backdrop {
  background: rgba(0, 0, 0, 0.35) !important;
}

.gin--dark-mode .admin-center-loader__card,
.gin--dark-mode .admin-server-loader__card {
  background: rgba(24, 28, 38, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 
    0 24px 48px -12px rgba(0, 0, 0, 0.55),
    0 8px 20px -6px rgba(0, 0, 0, 0.3),
    inset 0 1px 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.gin--dark-mode .admin-super-spinner .spinner-track {
  stroke: rgba(255, 255, 255, 0.12) !important;
}

.gin--dark-mode .admin-super-spinner .spinner-head {
  stroke: var(--gin-color-primary, #448fff) !important;
}

/* Hide Drupal default full-page throbbers to avoid duplicates */
.ajax-progress-fullscreen,
.ajax-progress--fullscreen {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   BURN PERMIT SUPER UI MODAL
══════════════════════════════════════════════════════════════════ */
.bp-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.bp-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.bp-modal-dialog {
  background: #ffffff;
  border-radius: 16px;
  width: 100%;
  max-width: 860px;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transform: translateY(15px) scale(0.98);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.bp-modal-backdrop.is-open .bp-modal-dialog {
  transform: translateY(0) scale(1);
}

.bp-modal-content {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  max-height: 92vh;
}

/* Header */
.bp-modal-header {
  padding: 20px 24px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  position: sticky;
  top: 0;
  z-index: 50;
}

.bp-header-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 4px;
}

.bp-header-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.bp-modal-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.5px;
}

.bp-origin-pill {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: center;
}

.bp-origin-pill--pos {
  background: #fef3c7;
  color: #b45309;
  border: 1px solid #fde68a;
}

.bp-origin-pill--online {
  background: #d1fae5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.bp-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #bae6fd;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
}

.bp-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0284c7;
  box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.3);
}

/* ── Close Button (Top Right Header) ── */
#bp-modal-close-btn,
button#bp-modal-close-btn,
.bp-modal-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  font-size: 26px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  outline: none !important;
  position: relative !important;
  z-index: 60 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

#bp-modal-close-btn:hover,
button#bp-modal-close-btn:hover,
.bp-modal-close:hover {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #dc2626 !important;
}

/* Quick Stats Ribbon */
.bp-stats-ribbon {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 16px 28px;
  background: #ffffff;
  border-bottom: 1px solid #f1f5f9;
}

.bp-stat-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
}

.bp-stat-label {
  font-size: 11.5px;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 2px;
}

.bp-stat-value {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

.bp-stat-fee {
  color: #0256a4;
  font-weight: 800;
}

/* Body */
.bp-modal-body {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #ffffff;
}

.bp-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.bp-info-box {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.bp-box-header {
  padding: 12px 18px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.bp-box-header h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
}

.bp-sub-tag {
  margin-left: auto;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 600;
}

.bp-box-header--pos {
  background: #fffbeb;
  border-bottom: 1px solid #fef3c7;
}

.bp-box-header--pos h3 {
  color: #92400e;
}

.bp-box-header--pos .bp-sub-tag {
  background: #fef3c7;
  color: #b45309;
}

.bp-box-header--online {
  background: #f0fdf4;
  border-bottom: 1px solid #dcfce7;
}

.bp-box-header--online h3 {
  color: #166534;
}

.bp-box-header--online .bp-sub-tag {
  background: #dcfce7;
  color: #15803d;
}

.bp-box-body {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bp-grid-2-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
}

.bp-field-row {
  display: flex;
  flex-direction: column;
  font-size: 13.5px;
}

.bp-field-label {
  font-size: 11.5px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 2px;
}

.bp-field-val {
  color: #0f172a;
  font-weight: 500;
  word-break: break-word;
}

.bp-address-highlight {
  font-weight: 700;
  color: #0256a4;
}

.bp-code-badge {
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  width: fit-content;
}

.bp-code-badge--pos {
  background: #fef3c7;
  color: #b45309;
  border: 1px solid #fde68a;
}

.bp-code-badge--online {
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #bae6fd;
}



/* Footer - clean symmetrical alignment */
.bp-modal-footer {
  padding: 16px 28px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.bp-footer-left {
  display: flex !important;
  align-items: center !important;
}

.bp-footer-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* All Footer Buttons - strictly identical height and vertical alignment */
.bp-modal-footer .bp-btn,
button.bp-btn,
a.bp-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  line-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
}

.bp-btn-primary {
  background: #0256a4 !important;
  color: #ffffff !important;
  border: 1px solid #0256a4 !important;
  box-shadow: 0 1px 2px rgba(2, 86, 164, 0.2) !important;
}

.bp-btn-primary:hover {
  background: #014382 !important;
  border-color: #014382 !important;
  color: #ffffff !important;
}

.bp-btn-edit {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #bae6fd !important;
}

.bp-btn-edit:hover {
  background: #bae6fd !important;
  color: #0256a4 !important;
  border-color: #7dd3fc !important;
}

.bp-btn-secondary {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.bp-btn-secondary:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}

.bp-btn-email {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid #a7f3d0 !important;
}

.bp-btn-email:hover {
  background: #d1fae5 !important;
  color: #065f46 !important;
  border-color: #6ee7b7 !important;
}

/* ── Hide generic 'Back to site' links globally across admin ──────────────── */
a.toolbar-icon-escape-admin:not(.processed-back-to-list),
a.gin-breadcrumb__link[title="Return to site content"]:not(.processed-back-to-list),
a.gin-breadcrumb__link[title="Back to site"]:not(.processed-back-to-list),
a[data-gin-toolbar-escape-admin]:not(.processed-back-to-list),
.toolbar-menu__item--to-site:not(.processed-back-to-list),
.toolbar-id--toolbar-icon-escape-admin:not(.processed-back-to-list) {
  display: none !important;
}

/* ── Hide Gin 'Edit' breadcrumb exclusively on the frontend ──────────────── */
body:not(.path-admin) .gin-secondary-toolbar {
  z-index: 9999 !important;
}

/* Hide Gin breadcrumb / Edit Home link strictly on the home page without breaking right alignment */
body.is-front-page .gin-secondary-toolbar .gin-breadcrumb-wrapper,
body.is-front-page .gin-secondary-toolbar .region-breadcrumb,
body.is-front-page .gin-secondary-toolbar .gin-breadcrumb,
body.path-frontpage .gin-secondary-toolbar .gin-breadcrumb-wrapper,
body.path-frontpage .gin-secondary-toolbar .region-breadcrumb,
body.path-frontpage .gin-secondary-toolbar .gin-breadcrumb {
  visibility: hidden !important;
}

body.is-front-page .gin-secondary-toolbar__layout-container,
body.path-frontpage .gin-secondary-toolbar__layout-container {
  justify-content: space-between !important;
}

/* ── Force hide 'Search All Content' active state when a type filter is active ── */
body.is-content-filtered-by-type .admin-toolbar .toolbar-menu__item:has(.toolbar-link--content),
body.is-content-filtered-by-type .admin-toolbar .toolbar-menu__item.menu-item--active-trail:has(.toolbar-link--content) {
  background: transparent !important;
}

body.is-content-filtered-by-type .admin-toolbar .toolbar-link--content,
body.is-content-filtered-by-type .admin-toolbar .toolbar-link--content.is-active {
  background: transparent !important;
  color: var(--gin-color-text) !important;
  font-weight: 500 !important;
}

body.is-content-filtered-by-type .admin-toolbar .toolbar-link--content::before {
  background-color: var(--gin-color-text) !important;
}

/* ── CKEditor / Single Container Right-Aligned Image Wrap ── */
.ck-content .advanced-container > .ck-advanced-column:only-child,
.ck-content .ck-advanced-column:only-child,
.ck-content .ck-advanced-column:has(figure.align-right, [data-align="right"], .image-style-side, .image-style-align-right, figure.align-left, [data-align="left"], .image-style-align-left) {
  display: block !important;
}

.ck-content .ck-advanced-column::after {
  content: "";
  display: table;
  clear: both;
}

.ck-content figure.align-right,
.ck-content [data-align="right"],
.ck-content figure.image-style-side,
.ck-content figure.image-style-align-right,
.ck-content .drupal-media-style-align-right,
.ck-content img.align-right {
  float: right !important;
  margin: 0 0 1.25rem 1.75rem !important;
  max-width: 50% !important;
  clear: right !important;
  align-self: auto !important;
}

.ck-content figure.align-left,
.ck-content [data-align="left"],
.ck-content figure.image-style-align-left,
.ck-content .drupal-media-style-align-left,
.ck-content img.align-left {
  float: left !important;
  margin: 0 1.75rem 1.25rem 0 !important;
  max-width: 50% !important;
  clear: left !important;
  align-self: auto !important;
}

/* ── CKEditor 5 Caledon Data Table Styling (Matches Live Website Table Design) ── */
.ck-content table,
.ck-content figure.table table,
.ck-editor__editable table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.ck-content table caption,
.ck-content figure.table figcaption,
.ck-editor__editable table caption {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  margin: 6px 0 12px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: #102a43 !important;
  caption-side: top !important;
}

.ck-content table td,
.ck-content table th,
.ck-content figure.table table td,
.ck-content figure.table table th,
.ck-editor__editable table td,
.ck-editor__editable table th {
  padding: 13px 18px !important;
  border: 1px solid #d2d6dc !important;
  color: #102a43 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  vertical-align: middle !important;
}

.ck-content table thead th,
.ck-content table thead td,
.ck-content figure.table table thead th,
.ck-content figure.table table thead td,
.ck-editor__editable table thead th,
.ck-editor__editable table thead td {
  text-align: left !important;
  padding: 13px 18px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: #014785 !important;
  border: 1px solid #013768 !important;
}

.ck-content table thead th *,
.ck-content table thead td *,
.ck-content figure.table table thead th *,
.ck-content figure.table table thead td *,
.ck-editor__editable table thead th *,
.ck-editor__editable table thead td * {
  color: #ffffff !important;
}

.ck-content table tbody tr:nth-child(odd),
.ck-content figure.table table tbody tr:nth-child(odd),
.ck-editor__editable table tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
}

.ck-content table tbody tr:nth-child(even),
.ck-content figure.table table tbody tr:nth-child(even),
.ck-editor__editable table tbody tr:nth-child(even) {
  background-color: #eaf3fb !important;
}

.ck-content table thead ~ tbody tr:nth-child(odd),
.ck-content figure.table table thead ~ tbody tr:nth-child(odd),
.ck-editor__editable table thead ~ tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
}

.ck-content table thead ~ tbody tr:nth-child(even),
.ck-content figure.table table thead ~ tbody tr:nth-child(even),
.ck-editor__editable table thead ~ tbody tr:nth-child(even) {
  background-color: #eaf3fb !important;
}

/* ── Node Preview Modal Button Alignment (Scoped strictly to Node Preview) ── */
body:has(.node-preview-container) .ui-dialog:has(.ui-dialog-buttonset) {
  min-width: 380px !important;
  max-width: min(520px, calc(100vw - 32px)) !important;
  box-sizing: border-box !important;
}

body:has(.node-preview-container) .ui-dialog .ui-widget-content.ui-dialog-buttonpane {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 14px 20px 16px !important;
  background: var(--gin-bg-app, #f8f9fa) !important;
  border-top: 1px solid var(--gin-border-color-layer, #e5e7eb) !important;
}

body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset button,
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  margin: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

/* Secondary button (Cancel in preview) */
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset button:first-child:not(:last-child):not(.button--danger),
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset .button:first-child:not(:last-child):not(.button--danger) {
  background: #f1f3f5 !important;
  color: #212529 !important;
  border: 1px solid #ced4da !important;
}

body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset button:first-child:not(:last-child):not(.button--danger):hover,
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset .button:first-child:not(:last-child):not(.button--danger):hover {
  background: #e9ecef !important;
  color: #000000 !important;
  border-color: #adb5bd !important;
}

/* Primary button (Leave preview) */
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset button:last-child:not(.button--danger),
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset .button:last-child:not(.button--danger) {
  background: var(--brand-blue, #0256a4) !important;
  color: #ffffff !important;
  border: 1px solid var(--brand-blue, #0256a4) !important;
}

body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset button:last-child:not(.button--danger):hover,
body:has(.node-preview-container) .ui-dialog .ui-dialog-buttonset .button:last-child:not(.button--danger):hover {
  background: var(--brand-blue-dark, #014785) !important;
  color: #ffffff !important;
  border-color: var(--brand-blue-dark, #014785) !important;
}

/* ── Contacts selection widget in admin sidebar ──────────────────────────── */
#edit-contact-module-box .claro-details__wrapper,
#edit-contact-module-box .details-wrapper {
  padding: 0 14px 16px !important;
}

/* Heading label inside details - flush with top */
#edit-contact-module-box .field-multiple-table thead {
  display: block !important;
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

#edit-contact-module-box .field-multiple-table thead tr {
  display: flex !important;
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

#edit-contact-module-box .field-multiple-table th.field-label {
  display: block !important;
  padding: 4px 0 8px 0 !important;
  border: none !important;
  background: transparent !important;
  width: 100% !important;
}

#edit-contact-module-box .field-multiple-table th.field-label h4.label {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1e40af !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

#edit-contact-module-box .field-multiple-table thead th:not(.field-label) {
  display: none !important;
}

#edit-contact-module-box .field-multiple-table {
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#edit-contact-module-box .field-multiple-table tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

#edit-contact-module-box .field-multiple-table tbody tr {
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}

#edit-contact-module-box .field-multiple-table td {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Drag handle - clean & vertically centered */
#edit-contact-module-box .field-multiple-table td.field-multiple-drag {
  width: 18px !important;
  min-width: 18px !important;
  flex: 0 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#edit-contact-module-box .field-multiple-table td.field-multiple-drag a.tabledrag-handle {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Autocomplete field container */
#edit-contact-module-box .field-multiple-table td:nth-child(2) {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

#edit-contact-module-box .field-multiple-table td:nth-child(2) .form-item {
  margin: 0 !important;
  width: 100% !important;
  position: relative !important;
}

/* Input styling matching Gin theme */
#edit-contact-module-box .field-multiple-table input.form-autocomplete {
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  line-height: 38px !important;
  padding: 0 34px 0 10px !important;
  border: 1px solid #d2d8e4 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

#edit-contact-module-box .field-multiple-table input.form-autocomplete:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15) !important;
}

/* Autocomplete dropdown list: roomy width, nice padding, right margin spacing */
ul.ui-autocomplete[id*="ui-id"] {
  max-width: calc(100vw - 32px) !important;
  min-width: 260px !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #cbd5e1 !important;
  padding: 6px !important;
  background: #ffffff !important;
  z-index: 1000000 !important;
}

ul.ui-autocomplete[id*="ui-id"] .ui-menu-item {
  border-radius: 5px !important;
  margin: 1px 0 !important;
}

ul.ui-autocomplete[id*="ui-id"] .ui-menu-item-wrapper {
  padding: 7px 12px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #1e293b !important;
  border-radius: 5px !important;
  white-space: normal !important;
  word-break: break-word !important;
}

ul.ui-autocomplete[id*="ui-id"] .ui-menu-item-wrapper.ui-state-active {
  background-color: #eff6ff !important;
  color: #1d4ed8 !important;
  border: none !important;
}

/* Remove button cell */
#edit-contact-module-box .field-multiple-table td:nth-child(3) {
  width: 28px !important;
  min-width: 28px !important;
  flex: 0 0 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Clean Cancel (✕) icon button */
#edit-contact-module-box .field-multiple-table .button.form-submit,
#edit-contact-module-box .field-multiple-table input[name*="_remove_button"] {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background-color: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 15px 15px !important;
  box-shadow: none !important;
}

#edit-contact-module-box .field-multiple-table .button.form-submit:hover,
#edit-contact-module-box .field-multiple-table input[name*="_remove_button"]:hover {
  background-color: #fee2e2 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* Hide weight column */
#edit-contact-module-box .field-multiple-table td.delta-order {
  display: none !important;
}

/* Add another item button */
#edit-contact-module-box input.field-add-more-submit {
  width: 100% !important;
  height: 34px !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #2563eb !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  display: block !important;
  text-align: center !important;
  margin-top: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

#edit-contact-module-box input.field-add-more-submit:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #1d4ed8 !important;
}

/* White background buttons with colored border/text matching Clear button style */
html body.gin--navigation .action-links li a[href*="events/import"],
html body .action-links a[href*="events/import"],
html body .action-links a[href*="/import"],
html body a.button[href*="events/import"],
html body a.button[href*="/import"],
.action-links a[href*="events/import"],
.action-link[href*="events/import"],
ul.action-links li a[href*="events/import"],
.action-links a[href*="/import"],
.action-link[href*="/import"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #4f46e5 !important;
  border: 1.5px solid #4f46e5 !important;
  border-color: #4f46e5 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transform: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

html body.gin--navigation .action-links li a[href*="events/import"]:hover,
html body .action-links a[href*="events/import"]:hover,
html body .action-links a[href*="/import"]:hover,
html body a.button[href*="events/import"]:hover,
html body a.button[href*="/import"]:hover,
.action-links a[href*="events/import"]:hover,
.action-links a[href*="events/import"]:focus,
.action-link[href*="events/import"]:hover,
.action-link[href*="events/import"]:focus,
ul.action-links li a[href*="events/import"]:hover,
ul.action-links li a[href*="events/import"]:focus,
.action-links a[href*="/import"]:hover,
.action-links a[href*="/import"]:focus {
  background: #eef2ff !important;
  background-color: #eef2ff !important;
  color: #3730a3 !important;
  border-color: #4338ca !important;
  box-shadow: 0 2px 5px rgba(79, 70, 229, 0.12) !important;
  transform: none !important;
}

html body.gin--navigation .action-links li a[href*="events/export"],
html body .action-links a[href*="events/export"],
html body .action-links a[href*="/export"],
html body a.button[href*="events/export"],
html body a.button[href*="/export"],
.action-links a[href*="events/export"],
.action-link[href*="events/export"],
ul.action-links li a[href*="events/export"],
.action-links a[href*="/export"],
.action-link[href*="/export"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #107c41 !important;
  border: 1.5px solid #107c41 !important;
  border-color: #107c41 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transform: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

html body.gin--navigation .action-links li a[href*="events/export"]:hover,
html body .action-links a[href*="events/export"]:hover,
html body .action-links a[href*="/export"]:hover,
html body a.button[href*="events/export"]:hover,
html body a.button[href*="/export"]:hover,
.action-links a[href*="events/export"]:hover,
.action-links a[href*="events/export"]:focus,
.action-link[href*="events/export"]:hover,
.action-link[href*="events/export"]:focus,
ul.action-links li a[href*="events/export"]:hover,
ul.action-links li a[href*="events/export"]:focus,
.action-links a[href*="/export"]:hover,
.action-links a[href*="/export"]:focus {
  background: #f0fdf4 !important;
  background-color: #f0fdf4 !important;
  color: #0b5a2f !important;
  border-color: #0b5a2f !important;
  box-shadow: 0 2px 5px rgba(16, 124, 65, 0.12) !important;
  transform: none !important;
}

/* Disable logo link navigation in sidebar since "View the Website" button is provided */
.admin-toolbar .admin-toolbar__logo,
.admin-toolbar .admin-toolbar__logo a,
.admin-toolbar .admin-toolbar__logo .toolbar-link,
.admin-toolbar .menu--logo a {
  pointer-events: none !important;
  cursor: default !important;
}

/* CKEditor 5 Heading Styles: Exact match with theme styles.css */
.ck-content h1,
.ck.ck-content h1,
.ck-content h3,
.ck.ck-content h3,
.ck-content h4,
.ck.ck-content h4 {
  color: #014785 !important;
  margin: 0 0 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.ck-content h2,
.ck.ck-content h2 {
  color: #000000 !important;
  font-size: 1.65rem !important;
  margin: 0 0 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.ck-content h5,
.ck.ck-content h5,
.ck-content h6,
.ck.ck-content h6 {
  color: #000000 !important;
  margin: 0 0 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.ck-content h1, .ck.ck-content h1 { font-size: 1.75rem !important; }
.ck-content h3, .ck.ck-content h3 { font-size: 1.375rem !important; }
.ck-content h4, .ck.ck-content h4 { font-size: 1.25rem !important; }
.ck-content h5, .ck.ck-content h5 { font-size: 1.125rem !important; }
.ck-content h6, .ck.ck-content h6 { font-size: 1rem !important; }

/* CKEditor 5 Dropdown Heading Colors: H1, H3, H4 Blue; H2, H5, H6 Black */
.ck-dropdown__panel .ck-list__item button.ck-heading_heading1 .ck-button__label,
.ck-dropdown__panel .ck-list__item button.ck-heading_heading3 .ck-button__label,
.ck-dropdown__panel .ck-list__item button.ck-heading_heading4 .ck-button__label {
  color: #014785 !important;
}
.ck-dropdown__panel .ck-list__item button.ck-heading_heading2 .ck-button__label,
.ck-dropdown__panel .ck-list__item button.ck-heading_heading5 .ck-button__label,
.ck-dropdown__panel .ck-list__item button.ck-heading_heading6 .ck-button__label {
  color: #000000 !important;
}

/* ── CKEditor 5 Image Slider Dialog Modal Constraints & Z-Index ── */
.ui-dialog.image-slider-ckeditor-dialog {
  max-height: 85vh !important;
  max-width: 680px !important;
  width: 90vw !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  position: fixed !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4) !important;
  z-index: 100000 !important;
}

.ui-widget-overlay {
  z-index: 99999 !important;
}

body:has(.image-slider-ckeditor-dialog) .toolbar-tray,
body:has(.image-slider-ckeditor-dialog) .gin-secondary-toolbar .toolbar-tray {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ui-dialog.image-slider-ckeditor-dialog .ui-dialog-titlebar {
  flex-shrink: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 20px !important;
  background: #1e293b !important;
  color: #ffffff !important;
}

.ui-dialog.image-slider-ckeditor-dialog .ui-dialog-titlebar-close {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 14px !important;
  z-index: 100002 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ui-dialog.image-slider-ckeditor-dialog .ui-dialog-content {
  flex: 1 1 auto !important;
  max-height: calc(85vh - 65px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 16px 24px !important;
  box-sizing: border-box !important;
}


