/* PointCraft site chrome (header 137, footer 2332) — Oct 2026 redesign. Loaded site-wide from header template 137.
 * Source: mainsite-wordpress/site-build/assets/pc-chrome.css; deployed to /wp-content/uploads/2026/10/pc-chrome.css
 */
/* ---------- Header (template 137) ---------------------------------------------------------------- */
.pc-header, .pc-header * { box-sizing: border-box; }
.elementor .pc-assets { margin: 0 !important; padding: 0 !important; }
.pc-header { font-family: var(--pc-font); }
.pc-header.elementor-sticky--effects .pc-hdr-main { box-shadow: 0 8px 24px -12px rgba(22, 28, 36, .18); }
.pc-hdr-util { background: var(--pc-dark); }
.pc-hdr-util > .elementor-container { align-items: center; flex-wrap: wrap; row-gap: 8px; column-gap: 16px; justify-content: space-between; }
.pc-hdr-util > .elementor-container > .elementor-column { width: auto !important; flex: 0 1 auto; }
.pc-hdr-util .elementor-widget { margin: 0 !important; }
.pc-hdr-contact .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0 !important; }
.pc-hdr-contact .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.pc-hdr-contact .elementor-icon-list-item::after { display: none !important; }
.pc-hdr-contact .elementor-icon-list-item > a,
.pc-hdr-contact .elementor-icon-list-item > span { display: inline-flex; align-items: center; gap: 6px; }
.pc-hdr-contact .elementor-icon-list-icon { color: var(--pc-green-light); padding: 0 !important; }
.pc-hdr-contact .elementor-icon-list-icon svg { width: 12.5px; height: 12.5px; color: var(--pc-green-light); fill: currentColor; }
.pc-hdr-contact .elementor-icon-list-text { font-family: var(--pc-font); font-size: 12.5px; line-height: 15px; color: var(--pc-grey-4); padding: 0 !important; }
.pc-hdr-contact a:hover .elementor-icon-list-text { color: #FFFFFF; }
.pc-hdr-util { padding-top: 9px !important; padding-bottom: 9px !important; }

/* Top (utility) menu */
.pc-topmenu .elementor-nav-menu--main .elementor-nav-menu { gap: 0 24px; }
.pc-topmenu .elementor-nav-menu--main .elementor-item {
  font-family: var(--pc-font); font-size: 12.5px; line-height: 15px; font-weight: 400;
  color: var(--pc-grey-4); padding: 0 !important; display: inline-flex; align-items: center; gap: 4px;
}
.pc-topmenu .elementor-nav-menu--main > .elementor-nav-menu > li { margin: 0 !important; }
.pc-topmenu .elementor-nav-menu--main .elementor-item:hover,
.pc-topmenu .elementor-nav-menu--main .elementor-item:focus,
.pc-topmenu .elementor-nav-menu--main .elementor-item.highlighted { color: #FFFFFF; }
.pc-topmenu .sub-arrow { margin: 0 !important; padding: 0 !important; display: inline-flex; }
.pc-topmenu .elementor-nav-menu--main .elementor-nav-menu--dropdown { margin-top: 10px !important; }

/* Main row */
.pc-hdr-main { background: #FFFFFF; border-bottom: 1px solid var(--pc-line); }
.pc-hdr-main > .elementor-container { align-items: center; justify-content: space-between; gap: 16px; flex-wrap: nowrap; }
.pc-hdr-main > .elementor-container > .elementor-column { width: auto !important; flex: 0 0 auto; }
.pc-hdr-main > .elementor-container > .elementor-column.pc-hdr-navcol { flex: 0 1 auto; }
.pc-hdr-main .elementor-widget { margin: 0 !important; }
.pc-hdr-logo img { height: 40px !important; width: auto !important; max-width: none !important; display: block; }
.pc-hdr-logo a { display: flex; }

.pc-mainmenu .elementor-nav-menu--main .elementor-nav-menu { gap: 0 36px; }
.pc-mainmenu .elementor-nav-menu--main > .elementor-nav-menu > li { margin: 0 !important; }
.pc-mainmenu .elementor-nav-menu--main .elementor-item {
  font-family: var(--pc-font); font-size: 15px; line-height: 24px; font-weight: 600; color: var(--pc-ink);
  padding: 0 !important; display: inline-flex; align-items: center; gap: 4px; transition: color .2s ease-in-out;
}
.pc-mainmenu .elementor-nav-menu--main .elementor-item:hover,
.pc-mainmenu .elementor-nav-menu--main .elementor-item:focus,
.pc-mainmenu .elementor-nav-menu--main .elementor-item.highlighted,
.pc-mainmenu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.pc-mainmenu .elementor-nav-menu--main .elementor-item.pc-active { color: var(--pc-green); }
.pc-mainmenu .elementor-nav-menu--main .pc-menu-cta { display: none !important; }
.pc-mainmenu .sub-arrow { margin: 0 !important; padding: 0 !important; display: inline-flex; }
/* Submenu chevron: Elementor needs a font icon here; hide it and draw Solar's alt-arrow-down-linear instead. */
.pc-header .sub-arrow svg, .pc-header .sub-arrow i { display: none !important; }
.pc-header .sub-arrow::after {
  content: ''; display: inline-block; width: 1em; height: 1em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9L12 15L5 9'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9L12 15L5 9'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pc-mainmenu .elementor-nav-menu--main .elementor-nav-menu--dropdown { margin-top: 18px !important; }

/* Desktop dropdown cards (both menus) */
.pc-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
  background: #FFFFFF; border-radius: 12px; padding: 8px; min-width: 230px !important;
  box-shadow: 0 0 2px rgba(145, 158, 171, .24), 0 20px 40px -4px rgba(145, 158, 171, .24); border: 0;
}
.pc-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  font-family: var(--pc-font); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--pc-ink) !important;
  background: transparent !important; padding: 10px 12px !important; border-radius: 8px; border: 0 !important;
}
.pc-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.pc-header .elementor-nav-menu--main .sub-menu .elementor-sub-item.highlighted {
  background: rgba(145, 158, 171, .08) !important; color: var(--pc-ink) !important;
}

/* Start Today button (header) */
.pc-btn.pc-btn--green.pc-btn--md .elementor-button { height: 36px; padding: 0 12px; font-size: 14px; }

/* Mobile/tablet: hamburger + drop panel (Elementor nav-menu dropdown mode at <=1024px) */
.pc-mainmenu .elementor-menu-toggle {
  width: 44px; height: 44px; border-radius: 8px; background: transparent !important; color: var(--pc-ink) !important;
  padding: 0; align-items: center; justify-content: center; border: 0; margin-left: auto;
}
.pc-mainmenu .elementor-menu-toggle:hover { background: rgba(145, 158, 171, .08) !important; }
.pc-mainmenu .elementor-menu-toggle svg { width: 26px !important; height: 26px !important; color: var(--pc-ink); fill: none; }
.pc-mainmenu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  background: #FFFFFF; border-top: 1px dashed rgba(145, 158, 171, .24); margin-top: 16px !important;
  box-shadow: 0 16px 24px -16px rgba(22, 28, 36, .18);
}
.pc-mainmenu .elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu { padding: 12px 20px 20px; display: grid; grid-template-columns: 1fr; gap: 2px; justify-content: stretch !important; }
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-item,
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-sub-item {
  font-family: var(--pc-font); font-size: 15px; line-height: 24px; font-weight: 600; color: var(--pc-ink) !important;
  background: transparent !important; padding: 12px 10px !important; border-radius: 8px; border: 0 !important;
}
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-sub-item { padding-left: 24px !important; font-weight: 500; color: var(--pc-ink-2) !important; }
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-item:hover,
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-item.highlighted { background: rgba(145, 158, 171, .08) !important; }
.pc-mainmenu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { color: var(--pc-green) !important; }
.pc-mainmenu .elementor-nav-menu--dropdown .sub-menu { background: transparent !important; position: static; box-shadow: none; }
.pc-mainmenu .elementor-nav-menu--dropdown .pc-menu-cta { margin-top: 10px; }
.pc-mainmenu .elementor-nav-menu--dropdown .pc-menu-cta > a.elementor-item {
  background: var(--pc-green) !important; color: #FFFFFF !important; height: 48px; padding: 0 16px !important;
  display: flex; align-items: center; justify-content: center; font-weight: 700; border-radius: 8px;
}
.pc-mainmenu .elementor-nav-menu--dropdown .pc-menu-cta > a.elementor-item:hover { box-shadow: 0 8px 16px rgba(0, 167, 111, .24); }

@media (max-width: 1024px) {
  .pc-hdr-ctacol { display: none !important; }
  .pc-hdr-main > .elementor-container > .elementor-column.pc-hdr-navcol { flex: 1 1 auto; }
}
@media (max-width: 767px) {
  .pc-hdr-util > .elementor-container { justify-content: flex-start; }
  .pc-topmenu .elementor-nav-menu--main .elementor-nav-menu { justify-content: flex-start !important; margin-left: 0 !important; }
  .pc-hdr-util > .elementor-container > .elementor-column { width: 100% !important; }
}

/* ---------- Footer (template 2332) -------------------------------------------------------------- */
.pc-footer { font-family: var(--pc-font); color: var(--pc-light); line-height: normal; }
.pc-footer .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }
.pc-footer .elementor-widget.pc-ftr-logo { margin-bottom: 18px !important; text-align: left; }
.pc-ftr-logo img { height: 38px !important; width: auto !important; display: block; }
.pc-ftr-logo a { display: inline-flex; }
.pc-footer .elementor-widget.pc-ftr-tag { margin-bottom: 22px !important; }
.pc-ftr-tag, .pc-ftr-tag p { font-size: 14.5px; line-height: 1.6; color: var(--pc-light); margin: 0; max-width: 300px; }
.pc-ftr-social .elementor-social-icons-wrapper { display: flex !important; gap: 12px; flex-wrap: wrap; justify-content: flex-start !important; }
.pc-ftr-social .elementor-grid-item { margin: 0 !important; }
.pc-ftr-social .elementor-social-icon {
  width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(145, 158, 171, .16) !important;
  color: #FFFFFF !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important;
  font-size: 16px !important; transition: background .2s ease-in-out;
}
.pc-ftr-social .elementor-social-icon:hover { background: var(--pc-green) !important; }
.pc-ftr-social .elementor-social-icon svg { width: 16px !important; height: 16px !important; fill: currentColor !important; color: #FFFFFF; }
.pc-footer .elementor-widget.pc-ftr-title { margin-bottom: 18px !important; }
.pc-ftr-title .elementor-heading-title { font-family: var(--pc-font); font-size: 15px; line-height: normal; font-weight: 700; color: #FFFFFF; margin: 0; }
.pc-ftr-links .elementor-icon-list-items { display: grid; gap: 12px; }
.pc-ftr-links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.pc-ftr-links .elementor-icon-list-item::after { display: none !important; }
.pc-ftr-links .elementor-icon-list-icon { display: none !important; }
.pc-ftr-links .elementor-icon-list-text { font-family: var(--pc-font); font-size: 14px; line-height: normal; color: var(--pc-light); padding: 0 !important; transition: color .2s ease-in-out; }
.pc-ftr-links a:hover .elementor-icon-list-text { color: #FFFFFF; }
.pc-ftr-links a.pc-current .elementor-icon-list-text { color: var(--pc-green-light); font-weight: 600; }
.pc-ftr-bottom > .elementor-container {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  border-top: 1px solid rgba(145, 158, 171, .16); padding: 22px 0;
}
.pc-ftr-bottom > .elementor-container > .elementor-column { width: auto !important; }
.pc-ftr-copy, .pc-ftr-copy p { font-size: 13px; line-height: normal; color: var(--pc-light); margin: 0; }
.pc-ftr-legal .elementor-icon-list-items { display: flex; gap: 24px; flex-wrap: wrap; }
.pc-ftr-legal .elementor-icon-list-text { font-size: 13px; }
@media (max-width: 767px) {
  .pc-ftr-bottom > .elementor-container { flex-direction: column; align-items: flex-start; }
}
