/* The widget-qualified adapter outranks Elementor generated defaults (0,2,0).
   Variants change variables; layout, dimensions and interactive states share one rule. */
.hf-site button,
.hf-site .hf-button,
.hf-site .elementor-widget-button .elementor-button {
  display: inline-flex;
  gap: var(--hf-space-2);
  justify-content: center;
  align-items: center;
  min-block-size: var(--hf-control-height);
  padding-block: var(--hf-space-3);
  padding-inline: var(--hf-space-6);
  border: 1px solid var(--hf-control-border,transparent);
  border-radius: var(--hf-radius-control);
  background: var(--hf-control-bg,var(--hf-primary));
  color: var(--hf-control-ink,var(--hf-on-dark));
  font: var(--hf-weight-medium) var(--hf-font-size-control)/var(--hf-line-ui) var(--hf-font);
  cursor: pointer;
  text-align: center;
  transition: transform var(--hf-transition-fast),background-color var(--hf-transition),border-color var(--hf-transition);
}

.hf-site .hf-button-light,
.hf-site .featured .elementor-button,
.hf-site .hf-section--dark .hf-primary-cta .elementor-button {
  --hf-control-bg: var(--hf-cream-100);
  --hf-control-ink: var(--hf-primary);
  --hf-control-hover: var(--hf-cream-200);
}

.hf-site .hf-secondary-cta .elementor-button {
  --hf-control-bg: transparent;
  --hf-control-ink: var(--hf-primary);
  --hf-control-border: var(--hf-primary);
  --hf-control-hover: var(--hf-secondary);
}

.hf-site .hf-tertiary-cta .elementor-button {
  --hf-control-bg: transparent;
  color: inherit;
  --hf-control-hover: transparent;
  border: 0;
  padding-inline: 0;
}

.hf-site button:disabled,
.hf-site [aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
  .hf-site button:enabled:not([aria-disabled="true"]):hover,
  .hf-site .hf-button:not([aria-disabled="true"]):hover,
  .hf-site .elementor-button:not([aria-disabled="true"]):hover {
    background: var(--hf-control-hover,var(--hf-burgundy-800));
    text-decoration: none;
    transform: translateY(var(--hf-control-lift));
  }

  .hf-site .hf-tertiary-cta .elementor-button:hover {
    text-decoration: underline;
    transform: none;
  }

  .hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-title:hover {
    background: var(--hf-secondary);
  }

  #hf-navigation a:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
  }

}

.hf-site button:enabled:not([aria-disabled="true"]):active,
.hf-site .hf-button:not([aria-disabled="true"]):active,
.hf-site .elementor-button:not([aria-disabled="true"]):active {
  transform: translateY(var(--hf-control-press));
}

.hf-header {
  position: sticky;
  inset-block-start: 0;
  z-index: var(--hf-z-header);
  border-block-end: 1px solid var(--hf-border);
  background: rgba(248,243,237,.94);
  backdrop-filter: blur(12px);
}

.hf-header.is-scrolled {
  background: var(--hf-surface);
}

.hf-header-row {
  display: flex;
  align-items: center;
  gap: var(--hf-space-6);
  min-block-size: var(--hf-header-height);
  transition: min-block-size var(--hf-transition-fast);
}

.hf-header.is-scrolled .hf-header-row {
  min-block-size: var(--hf-header-height-compact);
}

.hf-brand {
  display: flex;
  align-items: center;
  gap: var(--hf-space-2-5);
  direction: ltr;
  white-space: nowrap;
  font-weight: var(--hf-weight-strong);
}

.hf-brand img {
  inline-size: var(--hf-logo-size);
  block-size: var(--hf-logo-size);
  object-fit: contain;
}

.hf-brand small {
  display: block;
  direction: rtl;
  text-align: end;
}

.hf-mark {
  font-size: 1.75rem;
  background: var(--hf-primary);
  color: var(--hf-on-dark);
  padding: 3px var(--hf-space-2-5);
  border-radius: var(--hf-radius-control);
}

.hf-mark span {
  color: var(--hf-on-dark);
}

#hf-navigation {
  flex: 1;
}

#hf-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-nav-gap);
  list-style: none;
  padding: 0;
  margin: 0;
}

#hf-navigation a {
  display: block;
  padding-block: var(--hf-space-3);
  font-size: var(--hf-font-size-label);
}

#hf-navigation .current-menu-item>a {
  font-weight: var(--hf-weight-heading);
  text-decoration: underline;
}

.hf-site .hf-header-cta {
  white-space: nowrap;
  font-size: var(--hf-font-size-control);
  padding-inline: var(--hf-space-5-5);
  min-block-size: var(--hf-control-height);
}

.hf-site .hf-menu-toggle {
  display: none;
}

.hf-menu-lines {
  inline-size: 18px;
  block-size: 12px;
  border-block: 2px solid currentColor;
  position: relative;
  margin-inline-start: var(--hf-space-1-5);
}

.hf-menu-lines::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  inset-block-start: 3px;
  border-block-start: 2px solid currentColor;
}

body.admin-bar {
  --hf-admin-bar-height: 32px;
}

body.admin-bar .hf-header {
  inset-block-start: var(--hf-admin-bar-height);
}

/* Forms */
.hf-form {
  max-inline-size: 900px;
  margin-inline: auto;
  background: var(--hf-secondary);
  padding: var(--hf-space-10);
  border: 1px solid var(--hf-border);
  border-radius: var(--hf-radius-lg);
}

.hf-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--hf-space-6);
  margin-block-start: var(--hf-space-4);
}

.hf-fieldset {
  min-inline-size: 0;
  border: 0;
  border-block-start: 1px solid var(--hf-border);
  padding: var(--hf-space-6) 0;
  margin: 0;
}

.hf-fieldset legend {
  font-weight: var(--hf-weight-heading);
  font-size: var(--hf-font-size-subtitle);
  padding-inline-end: var(--hf-space-4);
}

.hf-form-step {
  color: var(--hf-primary);
  font-weight: var(--hf-weight-normal);
  margin-inline-end: var(--hf-space-3);
  direction: ltr;
  display: inline-block;
}

.hf-field label {
  display: block;
  font-weight: var(--hf-weight-medium);
  margin-block-end: var(--hf-space-2);
}

.hf-field input,
.hf-field select,
.hf-field textarea,
.hf-search input {
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: var(--hf-field-height);
  padding: var(--hf-space-3) var(--hf-space-4);
  border: 1px solid var(--hf-field-border);
  border-radius: var(--hf-radius-md);
  background: var(--hf-bone);
  color: var(--hf-text);
}

.hf-field textarea {
  min-block-size: 140px;
  resize: vertical;
}

.hf-field small {
  display: block;
  color: var(--hf-muted);
  margin-block-start: var(--hf-space-1);
}

.hf-full {
  grid-column: 1/-1;
}

.hf-consent {
  display: flex;
  align-items: start;
  gap: var(--hf-space-3);
  padding-block: var(--hf-space-3-5);
  margin-block: var(--hf-space-4);
  min-block-size: var(--hf-touch-target);
}

.hf-consent input {
  accent-color: var(--hf-primary);
  inline-size: 22px;
  block-size: 22px;
  flex-shrink: 0;
  margin-block-start: var(--hf-space-1-5);
}

.hf-consent a {
  text-decoration: underline;
}

.hf-honey {
  display: none;
}

.hf-notice {
  border: 1px solid var(--hf-success);
  border-radius: var(--hf-radius-md);
  padding: var(--hf-space-6);
  margin-block-end: var(--hf-space-6);
  background: var(--hf-secondary);
}

.hf-notice.error {
  border-color: var(--hf-error);
  background: var(--hf-error-surface);
}

.hf-search {
  display: flex;
  gap: var(--hf-space-3);
  margin-block: var(--hf-space-3) var(--hf-space-8);
}

/* Editable FAQ and supporting components */
.hf-site .elementor-widget-accordion .elementor-accordion-item {
  border: 0;
  border-block-end: 1px solid var(--hf-border);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-title {
  padding: var(--hf-space-6) var(--hf-space-4);
  font: var(--hf-weight-label) var(--hf-font-size-subtitle)/1.7 var(--hf-font);
  color: var(--hf-text);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-content {
  border: 0;
  padding: 0 var(--hf-space-4) var(--hf-space-6);
  font-family: var(--hf-font);
  background: transparent;
  transition: background-color var(--hf-transition-fast);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon {
  inline-size: 32px;
  font-size: var(--hf-font-size-title);
  color: var(--hf-primary);
  fill: currentColor;
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon :is(i, svg) {
  color: inherit;
  fill: currentColor;
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-accordion-title {
  color: var(--hf-text);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active {
  background: var(--hf-secondary);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
  color: var(--hf-primary);
}

.hf-site .elementor-widget-accordion .elementor-accordion .elementor-tab-content.elementor-active {
  max-inline-size: none;
  background: var(--hf-secondary);
}

.hf-faq details {
  padding-block: var(--hf-space-6);
  border-block-end: 1px solid var(--hf-border);
}

.hf-faq summary {
  cursor: pointer;
  font-weight: var(--hf-weight-medium);
}

.hf-card {
  padding: var(--hf-space-8);
  border: 1px solid var(--hf-border);
  border-radius: var(--hf-radius-lg);
  background: var(--hf-surface);
}

.hf-site .hf-card {
  --padding-top: var(--hf-space-8);
  --padding-bottom: var(--hf-space-8);
  --padding-left: var(--hf-space-8);
  --padding-right: var(--hf-space-8);
}

.hf-site .hf-band {
  background: var(--hf-secondary);
  border-radius: var(--hf-radius-lg);
}

.hf-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-space-2);
  list-style: none;
  padding: 0;
  font-size: var(--hf-font-size-meta);
}

.hf-breadcrumbs li+li::before {
  content: '/';
  margin-inline-end: var(--hf-space-2);
}

.hf-breadcrumbs li {
  display: flex;
  align-items: center;
}

.hf-breadcrumbs a {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--hf-touch-target);
}

.hf-enamad-link img {
  background: var(--hf-surface);
  inline-size: 150px;
  block-size: 150px;
  object-fit: contain;
  border-radius: var(--hf-radius-control);
}

/* Legacy inner-page process blocks stay compatible with the shared system. */
.hf-steps {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--hf-space-6);
  counter-reset: hf-steps;
}

.hf-step {
  border-block-start: 3px solid var(--hf-accent);
  padding-block: var(--hf-space-6);
}

.hf-step::before {
  counter-increment: hf-steps;
  content: '0' counter(hf-steps);
  display: block;
  direction: ltr;
  text-align: end;
  font-size: 2.5rem;
  font-weight: var(--hf-weight-display);
  color: var(--hf-primary);
}

.hf-mobile-cta {
  display: none;
}
