/*
 * Edgeline — theme.css
 *
 * All visual design is handled in Elementor. This file holds only:
 *
 *   1. The base reset the site was designed on. Edgeline was built on Hello
 *      Elementor, whose reset.css sets box-sizing, body margin, heading and
 *      paragraph spacing, form-control and table defaults. Those defaults are
 *      baked into every Elementor layout on the site, so they are kept here
 *      verbatim — dropping them would shift spacing across the store. Trim
 *      with care and only after visual regression checks.
 *   2. Small accessibility / WordPress utilities (skip link, screen-reader
 *      text, alignments, captions, comments).
 *   3. Site-specific rules carried over from the previous child theme (tile
 *      blocks).
 *
 * Performance note: this file loads on every page, so keep it small. Any
 * substantial styling belongs in Elementor (which generates per-page CSS) or
 * the site-wide custom CSS, not here.
 */

/* ---------------------------------------------------------------------
 * 1. Base reset (Hello Elementor reset.css, unchanged)
 * ------------------------------------------------------------------ */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-end:.9rem;margin-block-start:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;color:#00A84E;text-decoration:none}a:active,a:hover{color:#004721}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;border:1px solid #ccc;break-inside:avoid}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;width:auto}[type=button],[type=submit],button{background-color:transparent;border:1px solid #00A84E;border-radius:3px;color:#00A84E;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}[type=button]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:#00A84E;color:#fff;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50%,.502)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50%,.102)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50%,.502)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{line-height:1.3;padding:7px}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline}

/* ---------------------------------------------------------------------
 * 2. Utilities
 * ------------------------------------------------------------------ */

/* Visually hidden, but available to screen readers and keyboard users. */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important;word-wrap:normal!important}

/* Reveal the skip link when it receives keyboard focus. */
.skip-link.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;margin:0;padding:16px 24px;position:fixed!important;top:8px;left:8px;z-index:100000;display:block;background:#fff;color:#111;font-size:14px;line-height:1;text-decoration:underline}

/* WordPress alignment + caption classes (block/classic content in posts). */
.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}.alignfull,.alignfull img{width:100vw}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.pagination{display:flex;justify-content:space-between;margin:20px auto}

/* Native fallback templates only. Scoped exactly as Hello Elementor scoped them: never on Elementor-built pages (body.elementor-page-*), where Elementor owns all widths. */
body:not([class*="elementor-page-"]) .site-main{margin-inline:auto;width:100%;max-width:1140px;padding-inline:10px}body:not([class*="elementor-page-"]) .site-main--full-width{max-width:none;padding-inline:0}
.comments-area a,.entry-content a{text-decoration:underline}
#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment .comment-body{border-block-end:1px solid #ccc;padding-block:30px}#comments .children{list-style:none;margin:0;padding-inline-start:30px}

/* ---------------------------------------------------------------------
 * 3. Site rules carried over from the previous child theme
 * ------------------------------------------------------------------ */

/* Tile Block */
.tile-block{transition:background-color .3s ease-in-out}
.tile-block .elementor-icon-box-icon svg path{transition:fill .3s ease-in-out}
.tile-block .elementor-icon-box-title span,.tile-block .elementor-icon-box-description,.tile-block .elementor-heading-title,.tile-block p{transition:color .3s ease-in-out}
.tile-block:hover{background-color:#004721!important}
.tile-block:hover .elementor-icon-box-icon svg path{fill:#fff}
.tile-block:hover .elementor-icon-box-title span,.tile-block:hover .elementor-icon-box-description,.tile-block:hover .elementor-heading-title,.tile-block:hover p{color:#fff!important}
.alt-tile-block .elementor-icon-box-icon svg path{transition:fill .3s ease-in-out}
.alt-tile-block:hover .elementor-icon-box-icon svg path{stroke:#fff;fill:none}
.alt-tile-block:hover .elementor-widget-icon-box+.elementor-widget-icon-box .elementor-icon-box-icon svg path{stroke:none!important;fill:#fff!important}
/* End Tile Block */

/* Pagination (design "Pagination (V2)"): 32px circles, 5px apart, green current page. Shared by the shop, blog and reviews. */
.edl-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;margin:48px 0 0;padding:0;font-family:"Open Sans",sans-serif;font-size:14px;line-height:1.35em;letter-spacing:-0.3px}
.edl-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:#292929;background:#FFFFFF;border:1px solid #EFEFEF;border-radius:32px;text-decoration:none;transition:background-color .2s,border-color .2s}
.edl-pagination a.page-numbers:hover,.edl-pagination a.page-numbers:focus-visible{background:#E6F6ED;border-color:#B0E4C8;color:#292929}
.edl-pagination .page-numbers.current{color:#FFFFFF;background:#00A84E;border-color:#00A84E}
.edl-pagination .page-numbers.dots{border:0;border-radius:8px}
.edl-pagination .page-numbers svg{width:16px;height:16px;fill:currentColor}

/* Page hero icon boxes printed as <p> label + <h1> title (inc/headings.php): keep the defaults of the tags they replace. Low specificity on purpose, so every Elementor rule still wins. */
p.elementor-icon-box-title{margin-block-start:.5rem;margin-block-end:1rem;font-weight:500;line-height:1.2}
h1.elementor-icon-box-description{margin-block-start:0;margin-block-end:.9rem;font-size:inherit;font-weight:inherit;line-height:inherit}

/* Laptop widths (1025-1439px): Elementor's boxed containers are 1360px wide with no side padding, so below 1440px
   the page content ran flush to the screen edges (tablet and mobile have their own padding). Keep the designed 40px gutter. */
@media (min-width:1025px) and (max-width:1439.98px){
.elementor .e-con.e-con-boxed>.e-con-inner{max-width:min(var(--content-width),calc(100vw - 80px))}
/* A block given a fixed pixel width for 1440 (About's logo rows are 1029px) must not outgrow that narrower content area. */
.elementor .e-con.e-con-boxed>.e-con-inner>.e-con-full{max-width:100%}
}

/* Sections drawn for 1440px whose heading and photo collage collide on narrower laptops (the hero strips):
   give the section the class "edl-fit" (Advanced > CSS Classes) and it is scaled as one piece, like the 1440 design
   seen from further away, instead of the collage covering the text. "edl-fit--1280" / "edl-fit--1120" start the
   scaling only below that width, for sections that fit until then. Browsers without zoom or tan() ignore the rule. */
@media (min-width:1025px) and (max-width:1439.98px){
.elementor .e-con.edl-fit{--edl-fit-w:1440px;zoom:min(1,tan(atan2(100vw - 17px,var(--edl-fit-w))))}
.elementor .e-con.edl-fit--1280{--edl-fit-w:1280px}
.elementor .e-con.edl-fit--1120{--edl-fit-w:1120px}
/* Inside a scaled section 100vw is no longer the section's width, so the 40px gutter is taken from the section itself. */
.elementor .e-con.edl-fit.e-con-boxed>.e-con-inner,.elementor .e-con.edl-fit .e-con.e-con-boxed>.e-con-inner{max-width:min(var(--content-width),calc(100% - 80px))}
}

/* ---------------------------------------------------------------------
 * Hero collage ([edl_hero_collage]): the home hero's blocks fly in one after another on load.
 * The shortcode sits in the hero's collage container; it fills that container and keeps the 5 x 4 grid of the design.
 * ------------------------------------------------------------------- */
.elementor-widget-shortcode:has(.edl-collage){position:absolute;inset:0;width:100%;height:100%;margin:0}
.elementor-widget-shortcode:has(.edl-collage)>.elementor-widget-container,.elementor-widget-shortcode:has(.edl-collage) .elementor-shortcode{width:100%;height:100%}
.edl-collage{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);overflow:hidden;pointer-events:none}
/* Blocks slide in from the collage's own edges: nothing may pass over the menu bar above the hero. */
.edl-collage__block{background-image:var(--edl-collage-img);background-repeat:no-repeat;--edl-dx:0px;--edl-dy:0px;animation:edl-collage-in .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.25s + var(--edl-i) * .13s)}
.edl-collage__block--left{--edl-dx:-60px}
.edl-collage__block--right{--edl-dx:60px}
.edl-collage__block--top{--edl-dy:-60px}
.edl-collage__block--bottom{--edl-dy:60px}
@keyframes edl-collage-in{0%{opacity:0;transform:translate(var(--edl-dx),var(--edl-dy)) scale(.82)}60%{opacity:1}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.edl-collage__block{animation:none}}

/* ---------------------------------------------------------------------
 * Footer (design "Footer", desktop / tablet / mobile)
 * The template is Elementor's (Theme Builder > Footer). Its containers carry the edl-foot classes, and this grid
 * places them, because the three layouts differ in order and grouping, not only in widths.
 * ------------------------------------------------------------------- */
.elementor footer.edl-foot .edl-foot__top{display:grid;grid-template-columns:331.2fr 171.3fr 306.3fr 236.2fr 315fr;gap:0;align-items:start}
.elementor footer.edl-foot .edl-foot__top>.e-con{--width:100%;width:auto;max-width:none;min-width:0}
.elementor footer.edl-foot .edl-foot__brand{padding-right:24px}
.elementor footer.edl-foot .edl-foot__logo{text-align:left;line-height:0}
.elementor footer.edl-foot .edl-foot__logo a,.elementor footer.edl-foot .edl-foot__logo img{display:block}
.elementor footer.edl-foot .edl-foot__brand .edl-foot__logo img{width:267.5px;max-width:100%;height:auto}
.elementor footer.edl-foot .edl-foot__contact .elementor-icon-list-icon{width:20px}
.elementor footer.edl-foot .edl-foot__contact .elementor-icon-list-text{padding-left:8px;overflow-wrap:anywhere}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-items{gap:16px;margin:0!important}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-item{margin:0!important;padding:0!important}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-item::after{display:none}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-icon{width:24px}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-text{display:none}
.elementor footer.edl-foot .edl-foot__social .elementor-icon-list-icon svg{width:24px;height:24px;margin:0!important}
/* Newsletter form: checkbox and button positions, 20px arrow in the button. */
.elementor footer.edl-foot #news .elementor-field-type-acceptance{margin-top:-1.5px;margin-bottom:17px}
.elementor footer.edl-foot #news .elementor-button{padding-top:14px;padding-bottom:14px}
.elementor footer.edl-foot #news .elementor-field-type-acceptance .checkbox{margin-right:12px}
.elementor footer.edl-foot #news .elementor-field-type-acceptance label,.elementor footer.edl-foot #news .elementor-field-type-acceptance label span,.elementor footer.edl-foot #news .elementor-field-type-acceptance label a{font-size:14px!important;line-height:1.35!important}
/* One line as designed where the column is wide enough for it (it is 2px short at 1440); it wraps on laptop widths. */
@media (min-width:1440px){
.elementor footer.edl-foot #news .elementor-field-type-acceptance label{white-space:nowrap}
}
.elementor footer.edl-foot #news .elementor-field-type-submit{width:auto;max-width:100%;flex-basis:auto}
.elementor footer.edl-foot #news .elementor-button-icon,.elementor footer.edl-foot #news .elementor-button-icon svg{width:20px;height:20px}
.elementor footer.edl-foot .edl-foot__bar{align-items:center}
/* Legal links: grey dots between them; a link that has no page yet ("#") stays out until it gets one. */
.elementor footer.edl-foot .edl-foot__legal{width:auto!important;max-width:100%}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-items{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;margin:0!important}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item{display:flex;align-items:center;margin:0!important;padding:0!important}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item::after{display:none!important}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item:has(a[href="#"]){display:none}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item:not(:has(a[href="#"]))~.elementor-icon-list-item::before{content:"";flex:0 0 6px;width:6px;height:6px;margin-right:16px;border-radius:50%;background:#ABB0B5}
@media (max-width:1024px){
.elementor footer.edl-foot{padding-left:32px;padding-right:32px}
.elementor footer.edl-foot>.e-con-inner{gap:24px;padding-top:48px;padding-bottom:24px}
.elementor footer.edl-foot .edl-foot__top{grid-template-columns:174.5fr 214.5fr 59fr 256fr;row-gap:32px}
.elementor footer.edl-foot .edl-foot__brand{grid-column:1/3;grid-row:1;padding-right:24px}
.elementor footer.edl-foot .edl-foot__news{grid-column:3/5;grid-row:1}
.elementor footer.edl-foot .edl-foot__col--quick{grid-column:1;grid-row:2}
.elementor footer.edl-foot .edl-foot__col--solutions{grid-column:2/4;grid-row:2}
.elementor footer.edl-foot .edl-foot__col--industries{grid-column:4;grid-row:2}
.elementor footer.edl-foot .edl-foot__contact .elementor-icon-list-text{font-size:12px}
/* The design sets Quick Links a size larger than the other two columns on tablet and phone. */
.elementor footer.edl-foot .edl-foot__col--quick .elementor-heading-title{font-size:16px;line-height:1.35}
.elementor footer.edl-foot .edl-foot__col--quick .elementor-icon-list-item,.elementor footer.edl-foot .edl-foot__col--quick .elementor-icon-list-item>a,.elementor footer.edl-foot .edl-foot__col--quick .elementor-icon-list-text{font-size:14px;line-height:1.35}
.elementor footer.edl-foot #news .elementor-field-textual{min-height:40px;height:40px!important;padding:0 14px;font-size:12px}
.elementor footer.edl-foot #news .elementor-button{min-height:40px;padding:0 15px;font-size:12px}
.elementor footer.edl-foot #news .elementor-field-type-acceptance label{white-space:nowrap}
.elementor footer.edl-foot #news .elementor-button-icon,.elementor footer.edl-foot #news .elementor-button-icon svg{width:16px;height:16px}
.elementor footer.edl-foot .edl-foot__bar{flex-direction:column;align-items:center;gap:24px}
.elementor footer.edl-foot .edl-foot__legal{order:-1}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-items{justify-content:center}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item,.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-text{font-size:14px}
.elementor footer.edl-foot .edl-foot__copy{flex-direction:column;align-items:center;gap:12px;text-align:center}
.elementor footer.edl-foot .edl-foot__copy .elementor-widget-html{display:none}
}
@media (min-width:768px) and (max-width:1024px){
.elementor footer.edl-foot .edl-foot__contact>.e-con{--width:100%;width:100%}
.elementor footer.edl-foot .edl-foot__col--quick .elementor-widget-heading{margin-bottom:3px}
}
@media (max-width:767px){
.elementor footer.edl-foot .edl-foot__top{grid-template-columns:160px minmax(0,1fr);row-gap:56px}
.elementor footer.edl-foot .edl-foot__brand,.elementor footer.edl-foot .edl-foot__news,.elementor footer.edl-foot .edl-foot__col--industries{grid-column:1/-1;grid-row:auto;padding-right:0}
.elementor footer.edl-foot .edl-foot__brand{padding-bottom:21px}
/* Contact details left, social icons right; a long address wraps instead of pushing the icons down. */
.elementor footer.edl-foot .edl-foot__contact>.e-con{flex-wrap:nowrap;justify-content:space-between}
.elementor footer.edl-foot .edl-foot__contact .elementor-widget-icon-list:not(.edl-foot__social){flex:1 1 0%;min-width:0}
.elementor footer.edl-foot .edl-foot__contact .edl-foot__social{flex:0 0 auto}
.elementor footer.edl-foot #news .elementor-field-type-acceptance label{white-space:normal}
.elementor footer.edl-foot #news .elementor-field-type-acceptance{margin-bottom:21px}
.elementor footer.edl-foot .edl-foot__col--quick{grid-column:1;grid-row:auto}
.elementor footer.edl-foot .edl-foot__col--solutions{grid-column:2;grid-row:auto}
.elementor footer.edl-foot .edl-foot__news{margin-top:-32px}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-items{gap:8px 17px}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item,.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-text{font-size:12px}
.elementor footer.edl-foot .edl-foot__legal .elementor-icon-list-item::before{display:none!important}
}

/* Footer links: green on hover / keyboard focus (Elementor's own hover colour equals the normal one). */
.elementor footer.edl-foot .elementor-icon-list-item>a,.elementor footer.edl-foot .elementor-icon-list-item>a .elementor-icon-list-text,.elementor footer.edl-foot .edl-foot__copy a{transition:color .2s ease}
.elementor footer.edl-foot .elementor-icon-list-item>a:hover .elementor-icon-list-text,.elementor footer.edl-foot .elementor-icon-list-item>a:focus-visible .elementor-icon-list-text,.elementor footer.edl-foot .edl-foot__copy a:hover,.elementor footer.edl-foot .edl-foot__copy a:focus-visible{color:#00A84E!important}
.elementor footer.edl-foot .elementor-icon-list-item>a .elementor-icon-list-icon svg{transition:fill .2s ease,color .2s ease}
.elementor footer.edl-foot .elementor-icon-list-item>a:hover .elementor-icon-list-icon svg,.elementor footer.edl-foot .elementor-icon-list-item>a:focus-visible .elementor-icon-list-icon svg{fill:#00A84E!important;color:#00A84E!important}

/* ---------------------------------------------------------------------
 * Forms on the dark green panels (Contact, solution enquiry, repair booking; Elementor forms with these ids)
 * ------------------------------------------------------------------- */
:is(#contact,#solution-enquiry,#repair-booking) .elementor-button{padding-top:14px;padding-bottom:14px;font-family:"Open Sans",sans-serif;font-weight:700;letter-spacing:.42px;text-transform:uppercase}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-button-icon,:is(#contact,#solution-enquiry,#repair-booking) .elementor-button-icon svg{width:20px;height:20px}
:is(#contact,#solution-enquiry,#repair-booking) textarea.elementor-field{height:120px;min-height:120px;resize:none}
#contact textarea.elementor-field{height:110px;min-height:110px}
#contact .elementor-field-type-acceptance{margin-top:-4px;margin-bottom:20px}
:is(#solution-enquiry,#repair-booking) .elementor-field-type-acceptance{margin-bottom:21px}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label,:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label span,:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label a{font-size:14px;line-height:1.35}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label a{text-decoration:none}
/* Select: the design's thin chevron instead of Elementor's solid triangle. */
:is(#contact,#solution-enquiry,#repair-booking) .select-caret-down-wrapper{top:50%;right:16px;width:20px;height:20px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23FFFFFF'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") center/20px 20px no-repeat;pointer-events:none}
:is(#contact,#solution-enquiry,#repair-booking) .select-caret-down-wrapper svg{display:none}
:is(#contact,#solution-enquiry,#repair-booking) select.elementor-field-textual{padding-right:44px}
/* The field name sits inside the field with a lime asterisk, as designed. A placeholder cannot be two colours, so the
   field's own (screen-reader) label is shown in its place and hidden once the field has a value. Browsers without
   :has() keep the plain placeholder. */
@supports selector(:has(*)){
:is(#contact,#solution-enquiry,#repair-booking) :is(.elementor-field-type-text,.elementor-field-type-email,.elementor-field-type-tel,.elementor-field-type-textarea)>.elementor-field-label{position:absolute;top:0;left:0;display:flex;align-items:center;width:auto;height:48px;margin:0;padding:0 0 0 24px;overflow:visible;clip:auto;clip-path:none;color:#CDCFD4;font-family:"Open Sans",sans-serif;font-size:16px;font-weight:400;line-height:1.35;letter-spacing:-.3px;white-space:nowrap;pointer-events:none}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-textarea>.elementor-field-label{align-items:flex-start;padding-top:13px}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-required>.elementor-field-label::after{content:"*";margin-left:.3em;color:#BFDF01}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-group:has(>.elementor-field-textual:not(:placeholder-shown))>.elementor-field-label{display:none}
:is(#contact,#solution-enquiry,#repair-booking) :is(.elementor-field-type-text,.elementor-field-type-email,.elementor-field-type-tel,.elementor-field-type-textarea)>.elementor-field-textual::placeholder{color:transparent!important;opacity:0!important}
}
@media (max-width:767px){
:is(#contact,#solution-enquiry,#repair-booking) .elementor-button{padding-top:12px;padding-bottom:12px;letter-spacing:.36px}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label,:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label span,:is(#contact,#solution-enquiry,#repair-booking) .elementor-field-type-acceptance label a{font-size:11px}
:is(#contact,#solution-enquiry,#repair-booking) .elementor-button-icon,:is(#contact,#solution-enquiry,#repair-booking) .elementor-button-icon svg{width:14px;height:14px}
@supports selector(:has(*)){
:is(#contact,#solution-enquiry,#repair-booking) :is(.elementor-field-type-text,.elementor-field-type-email,.elementor-field-type-tel,.elementor-field-type-textarea)>.elementor-field-label{height:40px;font-size:12px}
}
}

/* Content for guests only (e.g. "Please login for wholesale pricing" on the product page): hidden once logged in. */
body.logged-in .edl-guest-only{display:none!important}
