/* Center-bottom arrow for Elementor hotspot tooltips */
.e-hotspot .e-hotspot__tooltip {
  --tip-size: 12px;                 /* arrow width/height */
  --tip-offset: calc(var(--tip-size) / -2);
  --tip-shadow: 0 4px 10px rgba(0,0,0,.25);  /* optional: match your box-shadow */
  position: absolute;               /* Elementor already does, but just in case */
  overflow: visible;                /* allow arrow to render outside */
}

.e-hotspot .e-hotspot__tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: var(--tip-offset);        /* attach to bottom edge */
  width: var(--tip-size);
  height: var(--tip-size);
  background: inherit;              /* matches tooltip bg/opacity */
  box-shadow: var(--tip-shadow);    /* optional shadow for the arrow */
  pointer-events: none;             /* don’t block hover/click */
}

/* If your tooltip has a border, mirror it on the arrow too (optional) */
.e-hotspot .e-hotspot__tooltip {
  --tip-border: 0;                  /* e.g., 1px solid rgba(255,255,255,.15) */
  border: var(--tip-border);
}
.e-hotspot .e-hotspot__tooltip::after {
  /* fake a border by shrinking the arrow slightly inside the box, if needed */
  /* outline: 1px solid rgba(255,255,255,.15); */
}





/* Default pin color (adjust if needed) */
.e-hotspot .e-hotspot__icon,
.elementor-hotspot .elementor-hotspot__icon {
  color: #000; /* idle pin */
  transition: color .2s ease;
}

/* Make sure the SVG follows the color */
.e-hotspot .e-hotspot__icon svg path,
.elementor-hotspot .elementor-hotspot__icon svg path {
  fill: currentColor !important;
  transition: fill .2s ease;
}

/* Pink when hovered, keyboard-focused, or active/open */
.e-hotspot:hover .e-hotspot__icon,
.e-hotspot:focus-within .e-hotspot__icon,
.e-hotspot.e-hotspot--active .e-hotspot__icon,
.e-hotspot.elementor-hotspot--active .e-hotspot__icon,
.elementor-hotspot:hover .elementor-hotspot__icon,
.elementor-hotspot:focus-within .elementor-hotspot__icon,
.elementor-hotspot.elementor-hotspot--active .elementor-hotspot__icon {
  color: #ff2aa9; /* 💗 pink pin */
}


/* Form */
/* ========== Layout ========== */

div#field_2_7 {
    display: none;
}

#gform_wrapper_2.form--submit-row_wrapper {
    margin: 0;
    max-width: 100%;
}

/* Hide GF heading + required legend */
#gform_wrapper_2 .gform_heading,
#gform_wrapper_2 .gform_required_legend {
    display: none;
}

/* Use flex to get the first/last name on one row */
#gform_wrapper_2 .gform_fields {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 16px;
    margin: 0;
    padding: 0;
}

#gform_wrapper_2 .gfield {
    flex: 0 0 100%;
    margin: 0;
    padding: 0;
}

/* 50/50 first + last name */
#gform_wrapper_2 .gfield.form-field--half {
    flex: 0 0 calc(50% - 8px);
}

/* Stack on small screens */
@media (max-width: 600px) {
    #gform_wrapper_2 .gfield.form-field--half {
        flex: 0 0 100%;
    }
}

/* ========== Inputs & Textarea ========== */

#gform_wrapper_2 .gfield_label {
    /* hide labels – placeholders do the work */
    position: absolute;
    left: -9999px;
}

/* text inputs */
#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"],
#gform_wrapper_2 textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border: 1px solid #222;
    border-radius: 0;
    background: #fff;
    font-size: 14px;
    line-height: 1.4;
    color: #000;
}

/* textarea height similar to screenshot */
#gform_wrapper_2 textarea {
    min-height: 160px;
    resize: vertical;
}

/* placeholders */
#gform_wrapper_2 ::placeholder {
    color: #777;
    opacity: 1;
}

/* focus state */
#gform_wrapper_2 input[type="text"]:focus,
#gform_wrapper_2 input[type="email"]:focus,
#gform_wrapper_2 textarea:focus {
    outline: none;
    border-color: #000;
}

/* ========== Consent row ========== */

/* remove “Consent*” legend */
#gform_wrapper_2 #field_2_5 legend {
    display: none;
}

/* layout: checkbox + text on one line */
#gform_wrapper_2 #field_2_5 {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 8px;
}

/* hide the short label, keep for screen readers */
#gform_wrapper_2 #field_2_5 .gfield_consent_label {
    position: absolute;
    left: -9999px;
}

/* checkbox */
#gform_wrapper_2 #field_2_5 input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    /* border: 1px solid #222; */
    border-radius: 2px;
}

fieldset#field_2_5 {
    border: none;
}

/* consent description = visible text */
#gform_wrapper_2 #field_2_5 .gfield_consent_description {
    margin: 0;
    font-size: 14px;
}

/* ========== Submit button ========== */

#gform_wrapper_2 .gform_footer {
    /*margin-top:-25px;*/
    padding: 0;
    border: 0;
    text-align: right;
}

#gform_wrapper_2 .gform_button.button {
    background: #E400A3;
    color: #fff;
    border: none;
    padding: 10px 32px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.2;
}

/* hover state */
#gform_wrapper_2 .gform_button.button:hover {
    filter: brightness(1.05);
}
