/* CP Law vector icons only. Typography, layout and selected native icons stay in Elementor. */
.cp-inline-arrow { display:inline-block; width:1em; height:1em; min-width:1em; vertical-align:-.12em; flex:0 0 auto; fill:none; stroke:currentColor; }
.cp-native-arrow-ne .elementor-button-icon { transform:rotate(-45deg); }
.cp-native-arrow-se .elementor-button-icon { transform:rotate(45deg); }
.cp-native-arrow-sw .elementor-button-icon { transform:rotate(-45deg); }
.cp-native-arrow-nw .elementor-button-icon { transform:rotate(45deg); }
.cplaw-hero .cplaw-hero__button .elementor-button-icon { font-size:24px; }
/* Legacy hero fallback; removed automatically when a native icon is selected. */
:root { --cp-vector-ne: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20675%201000%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M207%20435.0H558L593%20470.0V820.0L491%20917.0V486.0L541%20537.0H110ZM472%20481.0%20545%20553.0%20169%20929.0%2096%20857.0Z%22%2F%3E%3C%2Fsvg%3E"); }
.cplaw-hero .cplaw-hero__button .elementor-button-content-wrapper::after {
  content:''; display:inline-block; flex:0 0 16.2px; width:16.2px; height:24px;
  background:currentColor; -webkit-mask:var(--cp-vector-ne) center/contain no-repeat;
  mask:var(--cp-vector-ne) center/contain no-repeat;
}
.cplaw-hero .cplaw-hero__button .elementor-button-content-wrapper:has(.elementor-button-icon)::after { content:none; display:none; }
/* Keep CF7's real submit input, spinner and event handling intact. */
.cplaw-enquiry-panel .cp-form-submit input[type=submit].cp-submit-vector,
.cplaw-enquiry-panel .cp-form-submit input[type=submit].cp-submit-vector:hover,
.cplaw-enquiry-panel .cp-form-submit input[type=submit].cp-submit-vector:focus,
.cplaw-enquiry-panel .cp-form-submit input[type=submit].cp-submit-vector:disabled {
  padding-inline-end:calc(23px + 18px + var(--cp-submit-arrow-width,16.2px));
  background-image:var(--cp-submit-vector);
  background-repeat:no-repeat;
  background-position:right 23px center;
  background-size:var(--cp-submit-arrow-width,16.2px) 24px;
}
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-ne { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20675%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M207%20435.0H558L593%20470.0V820.0L491%20917.0V486.0L541%20537.0H110ZM472%20481.0%20545%20553.0%20169%20929.0%2096%20857.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.2px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-e { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20757%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M319%20908.0%20609%20597.0V673.0L319%20367.0H456L694%20610.0V660.0L456%20908.0ZM70%20688.0V586.0H601V688.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:18.168px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-w { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20757%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M383%20908.0H245L7%20660.0V610.0L245%20367.0H383L92%20673.0L93%20597.0ZM632%20688.0H100V586.0H632Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:18.168px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-s { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20682%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M110%20532.0%20416%20823.0%20341%20822.0%20651%20532.0V670.0L404%20908.0H353L110%20670.0ZM329%20283.0H432V815.0H329Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.368px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-n { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20682%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M71%20659.0V521.0L314%20283.0H364L612%20521.0V659.0L301%20369.0L377%20368.0ZM290%20908.0V376.0H392V908.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.368px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-se { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20675%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M177%20908.0%2080%20805.0H511L461%20857.0V425.0L563%20523.0V872.0L528%20908.0ZM442%20862.0%2066%20486.0%20139%20414.0%20515%20789.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.2px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-sw { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20675%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M498%20908.0H148L112%20872.0V523.0L215%20425.0V857.0L164%20805.0H596ZM233%20862.0%20161%20789.0%20537%20414.0%20609%20486.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.2px; }
.cplaw-enquiry-panel .cp-form-submit input.cp-submit-vector-nw { --cp-submit-vector: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20675%201000%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M468%20435.0%20565%20537.0H134L184%20486.0V917.0L82%20820.0V470.0L117%20435.0ZM203%20481.0%20579%20857.0%20506%20929.0%20130%20553.0Z%22%2F%3E%3C%2Fsvg%3E"); --cp-submit-arrow-width:16.2px; }

/* CF7 native controls: undo Burido's fixed select height without changing form data. */
.cplaw-enquiry-panel .cp-form-field select.wpcf7-select {
  box-sizing:border-box; height:auto; min-height:49px; max-height:none;
  padding:12px 28px 12px 0; line-height:24px;
  appearance:auto; -webkit-appearance:menulist;
}
/* The reference pill is 24px icon + 26px padding + 2px border = 52px. */
.cplaw-enquiry-panel .cp-form-submit input[type=submit].cp-submit-vector {
  box-sizing:border-box; height:auto; min-height:52px;
}

/* The original footer directions arrow is smaller than CTA arrows. */
.cplaw-footer__column a[href*="google.com/maps"] .cp-inline-arrow { font-size:18px; }

/* Preserve native Icon selection/size; use the reference glyph's true aspect ratio. */
.elementor .elementor-element .elementor-button .elementor-button-icon.cp-reference-icon {
  display:flex; align-items:center; line-height:1; transform:none;
}
.elementor .elementor-element .elementor-button-icon.cp-reference-icon svg { display:block; }
