/* ============================================================
   WORDPRESS / ELEMENTOR / GRAVITY FORMS ADAPTERS
   Loads after dah-design.css. Three jobs:
   1 · Make WordPress behave (admin bar, body-class hooks).
   2 · Adapter classes: Elementor puts "CSS Classes" on the WIDGET WRAPPER,
       not the inner element — so widgets use .dah-* adapters that reach
       inside. Containers get design classes (card, pillar, glass-card…)
       directly, because containers ARE the element.
   3 · Skin Gravity Forms to the design system's form spec.
   ============================================================ */

/* ---------- 1 · WordPress basics ---------- */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* body class fallback for the dark-hero header (body_class filter sets it) */
body.dah-hero-dark .site-header:not(.is-scrolled) .nav-link,
body.dah-hero-dark .site-header:not(.is-scrolled) .logo,
body.dah-hero-dark .site-header:not(.is-scrolled) .burger{color:var(--paper)}
body.dah-hero-dark .site-header:not(.is-scrolled) .logo .caption{color:var(--tint1)}
body.dah-hero-dark .site-header:not(.is-scrolled) .btn-ghost{
  border-color:rgba(248,248,245,.55);color:var(--paper)}

/* ---------- 2 · Elementor adapters ---------- */
/* Let the design system win over Elementor widget defaults. */
.elementor-widget-heading .elementor-heading-title{
  font-family:inherit;font-weight:inherit;color:inherit;line-height:inherit}
.elementor-widget-text-editor{font-size:inherit;line-height:inherit}
.e-con,.e-con>.e-con-inner{max-width:none}

/* Eyebrow: put .dah-eyebrow on a Heading widget (choose H6 or P as tag). */
.dah-eyebrow .elementor-heading-title{font-family:var(--f-mono);font-size:var(--fs-eyebrow);
  font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);
  display:flex;align-items:center;gap:.65rem}
.dah-eyebrow .elementor-heading-title::before{content:"";width:1.5rem;height:1px;
  background:var(--accent);flex:none}
.dah-eyebrow.dah-center .elementor-heading-title{justify-content:center}

/* Buttons: put .dah-btn-solid / -ghost / -wa / -light / -ghost-light on a Button widget. */
.dah-btn-solid .elementor-button,.dah-btn-ghost .elementor-button,
.dah-btn-wa .elementor-button,.dah-btn-light .elementor-button,
.dah-btn-ghost-light .elementor-button{
  font-family:var(--f-mono);font-size:var(--fs-btn);font-weight:500;text-transform:uppercase;
  letter-spacing:.14em;border-radius:999px;padding:1rem 1.9rem;min-height:44px;
  border:1px solid transparent;background:transparent;
  transition:background var(--t-hover) var(--e-out),color var(--t-hover) var(--e-out),
    border-color var(--t-hover) var(--e-out),transform var(--t-hover) var(--e-out)}
.dah-btn-solid .elementor-button:hover,.dah-btn-ghost .elementor-button:hover,
.dah-btn-wa .elementor-button:hover,.dah-btn-light .elementor-button:hover,
.dah-btn-ghost-light .elementor-button:hover{transform:translateY(-1px)}
.dah-btn-solid .elementor-button{background:var(--ink);color:var(--paper)}
.dah-btn-solid .elementor-button:hover{background:var(--dark);color:var(--paper)}
.dah-btn-ghost .elementor-button{border-color:var(--ink);color:var(--ink)}
.dah-btn-ghost .elementor-button:hover{background:var(--ink);color:var(--paper)}
.dah-btn-wa .elementor-button{border-color:var(--wa);color:var(--wa)}
.dah-btn-wa .elementor-button:hover{background:var(--wa);color:var(--paper)}
.dah-btn-light .elementor-button{background:var(--paper);color:var(--ink)}
.dah-btn-light .elementor-button:hover{background:var(--tint1);color:var(--ink)}
.dah-btn-ghost-light .elementor-button{border-color:rgba(248,248,245,.55);color:var(--paper)}
.dah-btn-ghost-light .elementor-button:hover{border-color:var(--paper);
  background:rgba(248,248,245,.1);color:var(--paper)}

/* Text link: put .dah-tlink on a Heading/Text widget containing a link. */
.dah-tlink a{font-family:var(--f-mono);font-size:var(--fs-btn);text-transform:uppercase;
  letter-spacing:.14em;text-decoration:none;color:var(--ink);position:relative;
  display:inline-flex;align-items:center;gap:.5rem;padding-bottom:.35rem}
.dah-tlink a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--accent);transform:scaleX(.35);transform-origin:left;
  transition:transform var(--t-hover) var(--e-out)}
.dah-tlink a:hover::after{transform:scaleX(1)}

/* Caption / mono meta: put .dah-caption on any text widget. */
.dah-caption,.dah-caption p{font-family:var(--f-mono);font-size:var(--fs-caption);
  color:var(--stone);line-height:1.45}

/* Nav Menu widget → design nav links (header template). */
.dah-nav .elementor-nav-menu a,.dah-nav .e-n-menu-title-text{
  font-family:var(--f-mono);font-size:var(--fs-btn);text-transform:uppercase;
  letter-spacing:.14em;color:inherit}

/* ---------- 3 · Gravity Forms skin (gravity-theme output) ---------- */
.gform_wrapper.gravity-theme .gfield_label{font-family:var(--f-mono);
  font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.13em;
  color:var(--ink);font-weight:500;margin-bottom:.5rem}
.gform_wrapper.gravity-theme .gfield_description{font-size:var(--fs-caption);
  color:var(--stone);font-family:var(--f-body);padding:0 0 .4rem}
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea{
  width:100%;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:.95rem 1.1rem;font:inherit;
  font-size:var(--fs-body);color:var(--ink);min-height:44px;
  transition:border-color var(--t-hover) var(--e-out),box-shadow var(--t-hover) var(--e-out)}
.gform_wrapper.gravity-theme input:hover,
.gform_wrapper.gravity-theme select:hover,
.gform_wrapper.gravity-theme textarea:hover{border-color:var(--stone)}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px var(--tint1);outline:none}
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error select,
.gform_wrapper.gravity-theme .gfield_error textarea{
  border-color:var(--error);box-shadow:0 0 0 3px rgba(138,59,46,.12)}
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message{
  background:none;border:0;padding:.4rem 0 0;color:var(--error);
  font-family:var(--f-mono);font-size:var(--fs-caption);letter-spacing:.04em}
.gform_wrapper.gravity-theme .gform_validation_errors{
  background:var(--tint2);border:1px solid var(--error);border-radius:var(--r-sm);
  padding:1rem 1.2rem;box-shadow:none}
.gform_wrapper.gravity-theme input[type=submit],
.gform_wrapper.gravity-theme .gform_button{
  font-family:var(--f-mono);font-size:var(--fs-btn);font-weight:500;text-transform:uppercase;
  letter-spacing:.14em;border-radius:999px;padding:1rem 1.9rem;min-height:44px;
  background:var(--ink);color:var(--paper);border:1px solid transparent;cursor:pointer;
  transition:background var(--t-hover) var(--e-out),transform var(--t-hover) var(--e-out)}
.gform_wrapper.gravity-theme input[type=submit]:hover{background:var(--dark);
  transform:translateY(-1px)}
.gform_confirmation_message{border:1px solid var(--success);background:#EEF2EA;
  border-radius:var(--r-md);padding:1.8rem;font-size:var(--fs-body)}
/* multi-step progress bar → design steps */
.gform_wrapper.gravity-theme .gf_progressbar_wrapper .gf_progressbar{
  background:var(--line);border-radius:999px;height:4px}
.gform_wrapper.gravity-theme .gf_progressbar_percentage{
  background:var(--accent);border-radius:999px;height:4px;font-size:0}
.gform_wrapper.gravity-theme .gf_progressbar_title{
  font-family:var(--f-mono);font-size:var(--fs-caption);text-transform:uppercase;
  letter-spacing:.13em;color:var(--stone)}
