/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* hide shop ctas */
/* .shop-cta{display: none;} */

  /* In-text links inside Elementor content */
.e-paragraph-base a {
  color: var(--e-global-color-accent);        
  font-weight: 600;
 }

/* utility */

ul + p {
    margin-top: 1rem;
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
.elementor-icon-wrapper{
	display: flex;
}
.bg-blur{
	backdrop-filter: blur(40px);
}
.h-100 {
    height: 100%;
}
.display-block a{display: block;}
b, strong{
	font-weight: 600;
}
.column-margin-right-auto > .e-con-inner {
    margin-left: 0;
    margin-right: auto;
}

.elementor-nav-menu a{
	cursor: pointer;
}
.justify-end, .justify-end .elementor-icon-wrapper {
    justify-content: flex-end;
}

.bg-hover-zoom{transition: 0.3s;}
.bg-hover-zoom:hover{transform: scale(1.1);}

.icon-hover-01 circle{transition: 0.3s;}
.icon-hover-01 .elementor-icon:hover circle{fill: var( --e-global-color-text );}
/* button styling */
.elementor-button-info .elementor-button {
    background: transparent !important;
    padding-left: 0;
    padding-right: 0;
}
.elementor-button-info span.elementor-button-icon{
	transition: 0.3s;
}
.elementor-button-info:not(.no-transform):hover span.elementor-button-icon {
    transform: translateX(5px);
}
.elementor-button-info .elementor-button-text{
	color: var(--e-global-color-text) !important;
}
.elementor-button-info.arrow-after {
	transform: translateX(-24px);
}
.elementor-button-info.arrow-after::after {
    content: "";
    background-image: url("https://afsystems.optimisedesign.com.au/wp-content/uploads/2025/07/chevron-orange.svg");
    width: 20px;
    height: 20px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -24px;
    top: 14px;
}

/* header styling */
header .elementor-sticky { 
width: 100% !important;
}
header{
	position: sticky;
	z-index: 999;
}
header .oo-header{
    transition: 0.3s
}
header .oo-header.elementor-sticky--effects{
    padding: 0;
}
header .oo-header.elementor-sticky--effects .oo-header-inner{
    border-radius: 0;
    border-bottom: 1px solid var(--e-global-color-547ab1f);
}

header .sub-arrow{
	color: var(--e-global-color-accent);
}
/* Pages styling */
.internal-banner::after {
    content: "";
    position: absolute;
    backdrop-filter: blur(25px);
    top: 0;
    left: 50%;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.logo-carousel img{
	height: 150px;
	width: 150px;
	object-fit: contain;
	object-position: center;
}

/* Testimonial Slider */
.testimonial-carousel{
	--oo-arrow-size: 36px;
}
.testimonial-carousel .elementor-swiper-button > i {
    width: var(--oo-arrow-size) !important;
    height: var(--oo-arrow-size)!important;
}

.testimonial-carousel .elementor-swiper-button > i::before{
	content: "";
}
.testimonial-carousel .eicon-chevron-right{
	background: url('/wp-content/uploads/2025/07/chevron-orange.svg') no-repeat center/contain;
}
.testimonial-carousel .eicon-chevron-left{
	background: url('/wp-content/uploads/2025/07/chevron-orange-left.svg') no-repeat center/contain;
}
.testimonial-carousel .elementor-swiper-button-next{
	top: calc((var(--oo-arrow-size) / 2 + 120px) * -1) !important;
	right: calc( var(--oo-arrow-size) / 2) !important;
	left: auto !important;
}
.testimonial-carousel .elementor-swiper-button-prev{
	top: calc((var(--oo-arrow-size) / 2 + 120px) * -1) !important;
	right: calc( var(--oo-arrow-size) * 2) !important;
	left: auto !important;
}


.swiper-pagination {
    width: 80% !important;
    display: flex;
    max-width: 280px;
    border-radius: 5px;
    overflow: hidden;
    margin-top: 64px;
}

span.swiper-pagination-bullet {
    margin: 0 !important;
    border-radius: 0;
	background: #6B7280 !important;
	width: inherit !important;
    opacity: 1 !important;
	height: 6px !important;
}
span.swiper-pagination-bullet-active{
	background: var(--e-global-color-accent) !important;
}

/* faqs */
.oo-accordion .elementor-accordion-item {
    border-bottom: 1px solid var(--e-global-color-accent) !important;
}
.oo-accordion .elementor-accordion .elementor-tab-title {
    padding: 32px 0;
}
.oo-accordion .elementor-accordion-icon{
    font-size: 24px;
}
.oo-accordion .elementor-accordion .elementor-tab-content {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}
.oo-accordion .elementor-accordion > .elementor-accordion-item:first-child .elementor-tab-title {
    padding-top: 0;
}

.oo-accordion.list-items ul{
	list-style: none;
	padding: 0;
}


.oo-accordion.list-items .elementor-tab-content {
    padding: 24px;
    background: #fff;
    margin-bottom: 24px;
    border-radius: 12px;
}

.oo-accordion.list-items li{
	position: relative;
	padding-left: 16px;
}
.oo-accordion.list-items li:not(:last-child){
	padding-bottom: 24px;
}
.oo-accordion.list-items li:not(:last-child)::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var( --e-global-color-f290c70 );
    position: absolute;
    left: 0;
    bottom: 12px;
}

.oo-accordion.list-items li::before {
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    background: url('/wp-content/uploads/2025/08/Ellipse-4.svg') center/contain no-repeat;
    top: 8px;
    left: 0;
}
.oo-accordion.list-items .elementor-accordion-title {
    font-size: var(--e-global-typography-secondary-font-size) !important;
}

.oo-accordion a{color: var(--e-global-color-accent);}

.oo-faq-tabs .premium-tab-title{display: block; width: 100%; text-align: left;}
.oo-faq-tabs .premium-tabs{border: none !important;}
.oo-faq-tabs .tab-current span.premium-tab-title {font-weight: 600 !important;}
 

/* wp-forms */
label.wpforms-field-label, legend.wpforms-field-label {
    font-weight: 400 !important;
}
button.wpforms-submit {
    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-text) !important;
}
button.wpforms-submit:hover{
	background: var(--e-global-color-text) !important;
	color: #fff !important;
}
.wpforms-form input:focus, .wpforms-form textarea:focus, .wpforms-form select:focus, .wpforms-form button:focus{
	box-shadow: 0 0 0 2px var(--e-global-color-accent) !important;
	border-color: var(--e-global-color-accent) !important;
}

/* custom service section */
.oo-service-grid{
    --heading-font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;
    --heading-font-size: var( --e-global-typography-secondary-font-size );
    --heading-font-weight: var( --e-global-typography-secondary-font-weight );
    --heading-line-height: var( --e-global-typography-secondary-line-height );
    --icon-size: 32px;
    --container-padding: 28px;
    --tile-min-height: 350px;
    --trans: 0.7s;
}
.oo-service-grid .service-tile, .oo-service-grid .tile-content-wrapper {
    position: relative;
}
.oo-service-grid{
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--container-padding);
    row-gap: var(--container-padding);
}
.oo-service-grid .service-tile{
    padding: var(--container-padding);
    border-radius: 12px;
    overflow: hidden;
    width: calc(50% - var(--container-padding) / 2);
    min-height: var(--tile-min-height);
    display: flex;
    align-items: flex-end;
    transition: var(--trans)
}
.oo-service-grid .tile-image{
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
}
.oo-service-grid .tile-content-wrapper{
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(40px);
    transition: var(--trans);
    width: 100%;
}
.oo-service-grid .service-tile:not(.active) .tile-header{
    padding: 12px;
}
.oo-service-grid .tile-header{
    cursor: pointer;
    padding: var(--container-padding);
    display: grid;
    grid-template-columns: 1fr max-content;
    align-items: center;
    transition: var(--trans);
}

.oo-service-grid .title{
    font-size: var(--heading-font-size);
    font-family: var(--heading-font-family);
    font-weight: var(--heading-font-weight);
    line-height: var(--heading-line-height);
    margin: 0;
    
}
.oo-service-grid .control{
    width: var(--icon-size);
    height: var(--icon-size);
    background: var(--e-global-color-accent);
    border-radius: 50%;
    position: relative;
}
.oo-service-grid .control .line{
    position: absolute;
    background: #fff;
    transition: 0.2s;
}
.oo-service-grid .control .line:nth-child(1){
    top: 6px;
    bottom: 6px;
    width: 2px;
    left: calc((var(--icon-size) / 2) - 1px);
    transform-origin: center;
}
.oo-service-grid .control .line:nth-child(2){
    left: 6px;
    right: 6px;
    height: 2px;
    top: calc((var(--icon-size) / 2) - 1px);
}
.oo-service-grid .service-tile.active .control .line:nth-child(1){
    transform: rotate(90deg);
}
.oo-service-grid .tile-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows var(--trans);
    
}
.oo-service-grid .tile-content .content {
  min-height: 0;
  transition: visibility var(--trans);
  visibility: hidden;
}
.oo-service-grid .tile-content .content .content-padding{
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    padding-bottom: var(--container-padding);
}
.oo-service-grid .service-tile.active .tile-content {
  grid-template-rows: 1fr;
   

}
.oo-service-grid .service-tile.active .tile-content .content {
  visibility: visible;
}

.oo-service-grid .service-tile.active{
    width: calc(70% - var(--container-padding) /2);
}

.oo-service-grid .service-tile:nth-child(odd).active + .service-tile{
    width:  calc(30% - var(--container-padding) /2);
}

.oo-service-grid .service-tile:has(+ .service-tile.active ) {
    width:  calc(30% - var(--container-padding) /2);
}
.oo-service-grid .service-tile:has(+ .service-tile:nth-child(odd).active ) {
    width:  calc(50% - var(--container-padding) /2);
}
.oo-service-grid .service-tile.active .tile-content-wrapper{
    width: 50%;
}

/* industry accordion */

.oo-industry-accordion{
  --button-font-size: var( --e-global-typography-secondary-font-size );
  --button-font-weight : var( --e-global-typography-secondary-font-weight )
  --button-line-height : var(--e-global-typography-secondary-line-height);
  --button-font-family : var(--e-global-typography-secondary-font-family);
  --button-text-colour: var(--e-global-color-text);
  --button-background-colour: transparent;

  --control-colour: var(--e-global-color-accent);
  --control-background: transparent;
  --control-background-hover: var(--e-global-color-accent);
  --divider-colour: var(--e-global-color-accent);
	
	--control-size: 32px;
  --icon-size: 48px;
  --icon-gap: 24px;

  --content-padding: 0 0 0 calc(var(--icon-size) + var(--icon-gap));
  --content-background: transparent;
  --content-border-radius: 0;
  --content-margin-top: 28px;


}


@media screen and (max-width:600px){
  .oo-industry-accordion{
    --control-size: 24px;
    --icon-size: 32px;
    --icon-gap: 12px;
  }
}

.oo-industry-accordion .accordion-trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: var(--button-background-colour) !important;
  color: var(--button-text-colour) !important;
  padding: 0;
  border: none !important;
  margin: 0 !important;
}
.oo-industry-accordion h2{
  margin: 0;
}
.oo-industry-accordion .heading-wrapper{
  display: flex;
  gap: var(--icon-gap);
  align-items: center;
}
.oo-industry-accordion .heading-icon img{
  width: var(--icon-size);
  height: var(--icon-size);
  min-width: var(--icon-size);
  object-fit: contain;
}
.oo-industry-accordion .accordion-title{
  font-size: var( --button-font-size );
  font-weight: var(--button-font-weight);
  font-family: var(--button-font-family);
  line-height: var(--button-line-height);
  display: block;
  white-space: normal;
  text-align: left;
}
.oo-industry-accordion .accordion-control{
    width: var(--control-size);
    height: var(--control-size);;
    min-width: var(--control-size);;
    position: relative;
    border: 1px solid var(--control-colour);
    border-radius: 50%;
    transition: 0.2s
}
.oo-industry-accordion .line{
    background: var(--control-colour);
    position: absolute;
    transition: 0.2s;
}
.oo-industry-accordion .line:first-child{
    width: 18px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 9px);
}
.oo-industry-accordion .line:last-child{
    width: 2px;
    height: 18px;
    left: calc(50% - 1px);
    top: calc(50% - 9px);
}
.oo-industry-accordion .accordion-content .content-wrapper-styles{
  padding: var(--content-padding);
  background: var(--content-background);
  border-radius: var(--content-border-radius);
  margin-top: var(--content-margin-top);
}

.oo-industry-accordion .divider{
  width: 100%;
  height: 1px;
  background-color: var(--divider-colour);
  margin-top: 28px;
  margin-bottom: 28px;
}

.oo-industry-accordion .accordion-item:hover .accordion-control,
.oo-industry-accordion .accordion-item.open .accordion-control{
  background-color: var(--control-background-hover);
  border-color: var(--control-background-hover);
}
.oo-industry-accordion .accordion-item:hover .accordion-control .line,
.oo-industry-accordion .accordion-item.open .accordion-control .line{
  background: #fff;
}
.oo-industry-accordion .accordion-item.open .accordion-control .line:last-child{
  transform: rotate(90deg);
}
.oo-industry-accordion .accordion-content{
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 1s;
}
.oo-industry-accordion .content-wrapper{
  min-height: 0;
  transition: visibility 1s;
  visibility: hidden;
}

.oo-industry-accordion .accordion-item.open .accordion-content {
  grid-template-rows: 1fr;
}
.oo-industry-accordion .accordion-item.open .content-wrapper {
  visibility: visible;
}
/* Custom filter styling */
#oo-filter-toggle{cursor: pointer;}
#oo-filter-toggle svg, #oo-filter-toggle i{transition: 0.3s;}
#oo-filter-toggle i{color: #000 !important;}
#oo-filter-toggle[aria-expanded=false] svg, #oo-filter-toggle[aria-expanded=false] i{transform: rotate(-90deg);}



/* blog and wyswyg styling */
.wys{--wys-section-space: 64px;}
@media screen and (max-width: 1366px){
	.wys{--wys-section-space: 48px;}
}
@media screen and (max-width: 600px){
	.wys{--wys-section-space: 32px;}
}

.wys p:has(+ h2), 
.wys p:has(+ h3), 
.wys p:has(+ h4), 
.wys p:has(+ h5), 
.wys p:has(+ h6),
.wys p:has(+ img),
.wys p:has(+ figure),
.wys blockquote:has(+ h2), 
.wys blockquote:has(+ h3), 
.wys blockquote:has(+ h4), 
.wys blockquote:has(+ h5), 
.wys blockquote:has(+ h6),
.wys blockquote:has(+ img),
.wys blockquote:has(+ figure),
.wys ul:has(+ h2), 
.wys ul:has(+ h3), 
.wys ul:has(+ h4), 
.wys ul:has(+ h5), 
.wys ul:has(+ h6),
.wys ul:has(+ img),
.wys ul:has(+ figure),
.wys ol:has(+ h2), 
.wys ol:has(+ h3), 
.wys ol:has(+ h4), 
.wys ol:has(+ h5), 
.wys ol:has(+ h6),
.wys ol:has(+ img),
.wys ol:has(+ figure){
	margin-bottom: var(--wys-section-space);
}
.wys h2 + h2{margin-top: var(--wys-section-space);}


.wys hr{margin-bottom: var(--wys-section-space); margin-top: var(--wys-section-space);}
.wys h2,
.wys h3,
.wys h4,
.wys h5,
.wys h6{
	margin-bottom: 12px;
}

.wys h2{
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
	color: var(--e-global-color-text);
}
.wys h3{
	font-family: var(--e-global-typography-c2c080a-font-family), Sans-serif;
    font-size: var(--e-global-typography-c2c080a-font-size);
    font-weight: var(--e-global-typography-c2c080a-font-weight);
    line-height: var(--e-global-typography-c2c080a-line-height);
	color: var(--e-global-color-text);
}
.wys h4, .wys h5, .wys h6{
	font-size: var(--e-global-typography-acfc634-font-size);
    font-weight: var(--e-global-typography-acfc634-font-weight);
    line-height: var(--e-global-typography-acfc634-line-height);
	color: var(--e-global-color-text);
}
.wys blockquote {position: relative;margin-left: 0;margin-right: 0;padding-left: calc(var(--wys-section-space) / 2);}
.wys blockquote::before {content: "";position: absolute;left: 0;height: 100%;width: 4px;background: var(--e-global-color-accent);}
.wys figcaption{color: var( --e-global-color-547ab1f ); margin-top: 8px;}
.wys ul, .wys ol{margin-block-end: 0.9rem;}
.wys a {
    color: var(--e-global-color-accent);
    font-weight: 600;
}
.wys a:hover {
    color: var(--e-global-color-text);
}

.oo-post-loop-cpt {
    text-transform: uppercase;
    padding: 4px 8px;
    background: #E5E7EB;
    width: fit-content;
    font-size: 12px;
    border-radius: 20px;
}

.jet-filter-label, .filter-heading .elementor-heading-title {
    font-size: 20px;
    font-weight: 600;
	font-family: var(--e-global-typography-acfc634-font-family), Sans-serif;
    font-size: var(--e-global-typography-acfc634-font-size);
    font-weight: var(--e-global-typography-acfc634-font-weight);
}
.jet-filter-label::after, .filter-heading .elementor-heading-title::after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background: darkgray;
    margin-top: 12px;
    margin-bottom: 24px;
}



/* responsive */
@media screen and (max-width: 1024px){
    .oo-service-grid{
    --icon-size: 24px;
    --container-padding: 14px;
    }
    .oo-service-grid .service-tile.active .tile-content-wrapper{
    width: 75%;
    }
}
@media screen and (max-width: 767px){
    .oo-service-grid{
        --tile-min-height: 260px;
    }
    .oo-service-grid .service-tile, .oo-service-grid .service-tile.active{
        width: 100% !important;
    }
    .oo-service-grid .service-tile.active .tile-content-wrapper{
        width: 100%;
    }
	
	.testimonial-carousel .elementor-swiper-button-next{
		display: none !important;
	}
	.testimonial-carousel .elementor-swiper-button-prev{
		display: none !important;
	}
	.mob-bg-blur{
		backdrop-filter: blur(40px);
	}
	.internal-banner::after{content: unset;}

}

/* Remove Hover and Focus style for carousel arrow button */
.oo-agents a.carousel-arrow.carousel-next:hover,
.oo-agents a.carousel-arrow.carousel-prev:hover {
  background: transparent !important;
}

.oo-agents a.carousel-arrow.carousel-next:focus,
.oo-agents a.carousel-arrow.carousel-prev:focus,
.oo-agents a.carousel-arrow.carousel-next:active,
.oo-agents a.carousel-arrow.carousel-prev:active {
  background: transparent !important;
}

/* AFSystems / WPForms 4017 — append to the ACTIVE CHILD THEME style.css.
 * Scoped to the existing outer container class afs-configurator.
 * Keeps WPForms' native conditional visibility, validation and page navigation.
 * Desktop reference: Figma groups 3017:1333, 2832:8234, 2832:8233, 2832:8232.
 */

#wpforms-4017.afs-configurator {
  --afs-orange: #f7941d;
  --afs-orange-hover: #e8830c;
  --afs-ink: #111827;
  --afs-muted: #6b7280;
  --afs-line: #d1d5db;
  --afs-panel: #f9fafb;
  --afs-card-gap: clamp(20px, 3vw, 52px);
  --afs-chevron: url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE5LjQ4MDEiIGhlaWdodD0iMTQuMzA3NyIgdmlld0JveD0iMCAwIDE5LjQ4MDEgMTQuMzA3NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTEuNDI1MDggMC4wOTc3ODE2QzAuNzYxOTAzIC0wLjIxMzY2IDYuNjk1OThlLTA2IDAuMjcwMjY4IDYuMTIxODVlLTA2IDEuMDAyOTRMMCA4LjgxNTI5Qy0yLjkzODM1ZS0wNyA5LjE5MDI2IDAuMjA5Nzc3IDkuNTMzNzMgMC41NDMzNzggOS43MDQ5NUw5LjI5NjI4IDE0LjE5NzRDOS41NzY0NiAxNC4zNDEyIDkuOTA4MDIgMTQuMzQ0NiAxMC4xOTExIDE0LjIwNjZMMTguOTE4MyA5Ljk1MjA3QzE5LjI2MiA5Ljc4NDUxIDE5LjQ4MDEgOS40MzU1OSAxOS40ODAxIDkuMDUzMlYxLjAwMTJDMTkuNDgwMSAwLjI2ODI5NiAxOC43MTc4IC0wLjIxNTYyNCAxOC4wNTQ1IDAuMDk2Mjc5M0wxMC4xNjk0IDMuODA0NTRDOS44OTk5NyAzLjkzMTIzIDkuNTg4MTUgMy45MzEzMSA5LjMxODcgMy44MDQ3N0wxLjQyNTA4IDAuMDk3NzgxNloiIGZpbGw9IiNGNzk0MUQiLz4KPC9zdmc+Cg==");
  --wpforms-page-break-color: var(--afs-orange);
  --wpforms-button-background-color: var(--afs-orange);
  --wpforms-button-text-color: var(--afs-ink);
  --wpforms-field-border-color: var(--afs-line);
  --wpforms-field-background-color: #fff;
  --wpforms-field-text-color: var(--afs-ink);
  --wpforms-label-color: var(--afs-ink);
  box-sizing: border-box;
  width: 100%;
  max-width: 1460px;
  margin: 0 auto;
  padding: 72px clamp(24px, 6.25vw, 120px) 80px;
  border: 1px solid #e5e7eb;
  border-radius: 40px;
  background: var(--afs-panel);
  color: var(--afs-ink);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 *,
#wpforms-4017.afs-configurator #wpforms-form-4017 *::before,
#wpforms-4017.afs-configurator #wpforms-form-4017 *::after { box-sizing: border-box; }
#wpforms-4017.afs-configurator #wpforms-form-4017 { margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field { padding: 0; margin: 0 0 24px; min-width: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-layout .wpforms-field { margin-bottom: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(.wpforms-field-row, .wpforms-field-medium, .wpforms-field-large) { max-width: 100%; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-content > .wpforms-field-row { width: 100%; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-content p { margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(h3, h4) { color: var(--afs-ink); }
#wpforms-4017.afs-configurator #wpforms-form-4017 h3 {
  margin: 0 0 12px;
  font: 600 28px/36px "Public Sans", sans-serif;
  letter-spacing: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(h4, .afs-accessory-heading p) {
  margin: 0;
  font: 600 18px/28px "Inter", sans-serif;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="27"], [data-field-id="29"], [data-field-id="30"], [data-field-id="34"], [data-field-id="41"]) p {
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
}

/* Four real WPForms progress steps, restyled as the Figma segments.
 * aria-valuenow is maintained by WPForms; no extra navigation JS needed.
 */
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  width: min(346px, 48%);
  height: 9px;
  margin: 0 0 24px auto;
  padding: 0;
  background: none;
  border: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator-page {
  flex: 1 1 0;
  min-width: 0 !important; /* Overrides WPForms' inline 25% widths plus gaps. */
  width: auto;
  height: 9px;
  margin: 0;
  padding: 0;
  background: #e5e7eb;
  border: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator-page::before,
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator-page::after { display: none; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator :is(.wpforms-page-indicator-page-number, .wpforms-page-indicator-page-title) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator[aria-valuenow="1"] > :nth-child(-n+1),
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator[aria-valuenow="2"] > :nth-child(-n+2),
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator[aria-valuenow="3"] > :nth-child(-n+3),
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator[aria-valuenow="4"] > :nth-child(-n+4) { background: var(--afs-orange); }

/* Contact fields and layout columns. */
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="27"] { margin-bottom: 48px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-1 > :is([data-field-id="17"], [data-field-id="8"]) { margin-bottom: 20px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-layout-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  width: 100%;
  margin: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-layout-column {
  flex: 1 1 0;
  min-width: 0;
  padding: 0;
  margin: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-label {
  margin: 0 0 8px;
  padding: 0;
  color: var(--afs-ink);
  font: 400 16px/24px "Inter", sans-serif;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-required-label { color: #b42318; }
#wpforms-4017.afs-configurator #wpforms-form-4017 input:is([type="text"], [type="email"], [type="tel"], [type="number"]),
#wpforms-4017.afs-configurator #wpforms-form-4017 textarea,
#wpforms-4017.afs-configurator #wpforms-form-4017 select:not(.choices__input) {
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  height: 42px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--afs-line);
  border-radius: 2px;
  background-color: #fff;
  color: var(--afs-ink);
  box-shadow: none;
  font: 400 16px/24px "Inter", sans-serif;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(input, textarea)::placeholder { color: #9ca3af; opacity: 1; }
#wpforms-4017.afs-configurator #wpforms-form-4017 textarea { height: 150px; resize: vertical; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .iti { width: 100%; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .iti input[type="tel"] { padding-left: 60px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 input:focus,
#wpforms-4017.afs-configurator #wpforms-form-4017 textarea:focus,
#wpforms-4017.afs-configurator #wpforms-form-4017 select:focus,
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices.is-focused .choices__inner {
  border-color: var(--afs-orange);
  outline: 2px solid rgba(247, 148, 29, .28);
  outline-offset: 2px;
  box-shadow: none;
}

/* Standard power selects + WPForms Choices.js throughput selects. */
#wpforms-4017.afs-configurator #wpforms-form-4017 select:not(.choices__input) {
  appearance: none;
  border-color: #bbb;
  border-radius: 8px;
  padding-right: 48px;
  background-image: var(--afs-chevron);
  background-size: 19px 15px;
  background-repeat: no-repeat;
  background-position: right 18px center;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices { width: 100%; max-width: 100%; margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__inner {
  width: 100%;
  min-height: 42px;
  padding: 8px 48px 0px 15px;
  border: 1px solid #bbb;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  font: 400 16px/24px "Inter", sans-serif;
  color: var(--afs-ink);
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__list--single { padding: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__list--single .choices__item { margin: 0; padding-right: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__placeholder { opacity: 1; color: #6b7280; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices[data-type*="select-one"]::after {
  top: 50%; right: 18px;
  width: 19px; height: 15px;
  margin: 0;
  border: 0;
  background: var(--afs-chevron) center / contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices[data-type*="select-one"].is-open::after { transform: translateY(-50%) rotate(180deg); }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__list--dropdown {
  z-index: 20;
  border: 1px solid var(--afs-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .08);
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__list--dropdown .choices__item { padding: 10px 15px; font: 400 16px/24px "Inter", sans-serif; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .choices__list--dropdown .is-highlighted { background: #fff3e3; color: var(--afs-ink); }
/* These throughput fields are required. Clearing is redundant; retains dropdown keyboard behaviour. */
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="31"], [data-field-id="32"]) .choices__button { display: none; }

/* System and corner image choices. Existing WPForms labels remain focusable. */
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="22"], [data-field-id="42"]) { margin-bottom: 16px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--afs-card-gap);
  width: 100%;
  margin: 0;
  padding: 0;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices .wpforms-image-choices-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices label {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices br { display: none; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  clip: rect(0,0,0,0);
  clip-path: inset(50%);
  overflow: hidden;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices-label {
  order: -1;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--afs-ink);
  font: 400 18px/26px "Inter", sans-serif;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 423 / 256;
  border: 2px solid transparent;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 10px;
  object-fit: contain;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices-image::after { display: none; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-selected .wpforms-image-choices-image,
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices label:has(input:checked) .wpforms-image-choices-image { border-color: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices label:focus-visible .wpforms-image-choices-image {
  outline: 3px solid var(--afs-ink);
  outline-offset: 3px;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="22"], [data-field-id="25"]) { max-width: 915px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="42"], [data-field-id="43"]) { max-width: 980px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="42"] .wpforms-image-choices { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="42"] .wpforms-image-choices-image { aspect-ratio: 295 / 256; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="25"], [data-field-id="43"]) .wpforms-layout-row { flex-direction: row !important; gap: var(--afs-card-gap); }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="25"], [data-field-id="43"]) .wpforms-layout-column { width: 0 !important; flex: 1 1 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="25"], [data-field-id="43"]) p { font: 400 14px/20px "Inter", sans-serif; color: var(--afs-muted); }
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="30"] { margin-top: 80px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="47"] { margin-top: 72px; }

/* Length sliders. Optional accompanying JS supplies --afs-range-progress. */
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-number-slider { margin-bottom: 72px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-number-slider > label {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  clip: rect(0,0,0,0); clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"] {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%; max-width: 100%;
  height: 40px;
  margin: 0; padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  accent-color: var(--afs-orange);
  cursor: pointer;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"]::-webkit-slider-runnable-track {
  height: 8px; border: 0; border-radius: 20px;
  background: linear-gradient(to right, var(--afs-orange) 0 var(--afs-range-progress, 0%), var(--afs-line) var(--afs-range-progress, 0%) 100%);
}
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"]::-webkit-slider-thumb {
  appearance: none; -webkit-appearance: none;
  width: 8px; height: 39px;
  margin-top: -15.5px;
  border: 0; border-radius: 4px;
  background: var(--afs-orange);
  box-shadow: none;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"]::-moz-range-track { height: 8px; border: 0; border-radius: 20px; background: var(--afs-line); }
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"]::-moz-range-progress { height: 8px; border-radius: 20px; background: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 input[type="range"]::-moz-range-thumb { width: 8px; height: 39px; border: 0; border-radius: 4px; background: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-number-slider-hint {
  display: block;
  margin-top: 16px;
  text-align: center;
  color: var(--afs-orange);
  font: 600 24px/32px "Public Sans", sans-serif;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-number-slider-hint b { font-weight: inherit; color: inherit; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="66"], [data-field-id="68"]) { margin-bottom: 72px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="66"], [data-field-id="68"]) > label { margin-bottom: 24px; font-size: 18px; font-weight: 600 !important; line-height: 28px; }

/* Accessory grid: keeps each image, checkbox and quantity together on phones.
 * Only inner layout wrappers use display:contents; conditional field containers
 * retain their own display state and WPForms can still hide them normally.
 */
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="69"], [data-field-id="81"]) { max-width: 898px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="69"], [data-field-id="81"]) > .wpforms-field-layout-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: var(--afs-card-gap);
  row-gap: 16px;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="69"], [data-field-id="81"]) :is(.wpforms-layout-row, .wpforms-layout-column) { display: contents; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="72"], [data-field-id="82"]) { grid-area: 1 / 1; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="71"], [data-field-id="85"]) { grid-area: 1 / 2; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="73"], [data-field-id="83"]) { grid-area: 2 / 1; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="79"], [data-field-id="86"]) { grid-area: 2 / 2; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="77"], [data-field-id="84"]) { grid-area: 3 / 1; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="80"], [data-field-id="87"]) { grid-area: 3 / 2; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="72"], [data-field-id="71"], [data-field-id="82"], [data-field-id="85"]) p:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 423 / 256;
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="72"], [data-field-id="71"], [data-field-id="82"], [data-field-id="85"]) img {
  float: none;
  display: block;
  width: 100%; height: 100%;
  margin: 0;
  object-fit: contain;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="71"], [data-field-id="85"]) img { width: 70%; height: 70%; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="72"], [data-field-id="71"], [data-field-id="82"], [data-field-id="85"]) p:nth-child(2) { margin-bottom: 12px; font: 400 18px/26px "Inter", sans-serif; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="72"], [data-field-id="71"], [data-field-id="82"], [data-field-id="85"]) p:nth-child(3) { color: var(--afs-muted); font: 400 14px/20px "Inter", sans-serif; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-checkbox ul { padding: 0; margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-checkbox li { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-checkbox input { flex: 0 0 17px; width: 17px; height: 17px; margin: 4px 0 0; accent-color: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-checkbox .wpforms-field-label-inline { margin: 0; color: var(--afs-ink); font: 400 18px/26px "Inter", sans-serif; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="77"], [data-field-id="80"], [data-field-id="84"], [data-field-id="87"]) > label { display: inline-block; margin: 0 20px 0 0; vertical-align: middle; font: 600 24px/32px "Public Sans", sans-serif; font-weight: 600 !important; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="77"], [data-field-id="80"], [data-field-id="84"], [data-field-id="87"]) > input { display: inline-block; width: 106px; max-width: 106px; height: 40px; min-height: 40px; border: 1px solid #6b7280; border-radius: 8px; background: transparent; text-align: center; vertical-align: middle; font-size: 20px; }

/* Buttons and summary. No display rule on submit-container: WPForms controls it. */
/* Existing child-theme submit colours use !important; override only this form. */
#wpforms-4017.afs-configurator #wpforms-form-4017 button.wpforms-submit { background: var(--afs-orange) !important; color: var(--afs-ink) !important; }
#wpforms-4017.afs-configurator #wpforms-form-4017 button.wpforms-submit:hover { background: var(--afs-orange-hover) !important; color: var(--afs-ink) !important; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-pagebreak { clear: both; margin: 64px 0 0; padding: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="2"] { margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-pagebreak-left { display: flex; align-items: center; flex-wrap: wrap; gap: 19px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-pagebreak-left::before,
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-pagebreak-left::after { display: none; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-button-group { margin: 0; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(button.wpforms-page-button, button[type="submit"]) {
  min-width: 129px;
  min-height: 48px;
  height: auto;
  margin: 0;
  padding: 10px 24px;
  border: 2px solid var(--afs-orange);
  border-radius: 4px;
  background: var(--afs-orange);
  box-shadow: none;
  color: var(--afs-ink);
  font: 600 16px/24px "Inter", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}
#wpforms-4017.afs-configurator #wpforms-form-4017 button.wpforms-page-prev { background: transparent; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(button.wpforms-page-button, button[type="submit"]):hover { background: var(--afs-orange-hover); border-color: var(--afs-orange-hover); color: var(--afs-ink); }
#wpforms-4017.afs-configurator #wpforms-form-4017 button.wpforms-page-prev:hover { background: #fff3e3; border-color: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 button:focus-visible { outline: 3px solid var(--afs-ink); outline-offset: 3px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 button:disabled { opacity: .55; cursor: not-allowed; }
#wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-submit-container { padding: 0; margin-top: 19px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 #afs-4017-summary { color: var(--afs-ink); font: 400 18px/28px "Inter", sans-serif; }
#wpforms-4017.afs-configurator #wpforms-form-4017 #afs-4017-summary p { margin-bottom: 16px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 #afs-4017-summary .afs-summary-note { font-size: 14px; line-height: 22px; color: var(--afs-muted); }
#wpforms-4017.afs-configurator #wpforms-form-4017 #afs-4017-summary ul { margin: 0 0 24px; padding-left: 24px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 #afs-4017-summary li::marker { color: var(--afs-orange); }
#wpforms-4017.afs-configurator #wpforms-form-4017 label.wpforms-error,
#wpforms-4017.afs-configurator #wpforms-form-4017 em.wpforms-error { color: #b42318; font: 400 14px/20px "Inter", sans-serif; margin-top: 8px; }
#wpforms-4017.afs-configurator #wpforms-form-4017 :is(input, textarea, select)[aria-invalid="true"] { border-color: #b42318; }

@media (max-width: 767px) {
  #wpforms-4017.afs-configurator { padding: 32px 24px 40px; border-radius: 24px; --afs-card-gap: 20px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 h3 { font-size: 24px; line-height: 32px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-indicator { width: 220px; max-width: 100%; margin-bottom: 32px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-1 .wpforms-layout-row { flex-direction: column; gap: 20px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-page-1 .wpforms-layout-column { width: 100%; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="27"] { margin-bottom: 32px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="30"],
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="47"] { margin-top: 40px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-number-slider,
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="66"], [data-field-id="68"]) { margin-bottom: 40px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-field-pagebreak { margin-top: 40px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="2"] { margin-top: 0; }
  /* Keep separate system/corner descriptions lined up under their image columns. */
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-image-choices-label { font-size: 14px; line-height: 20px; min-height: 60px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="42"] .wpforms-image-choices-label { min-height: 40px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="25"], [data-field-id="43"]) p { font-size: 12px; line-height: 18px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 [data-field-id="43"] .wpforms-layout-column { width: auto; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="69"], [data-field-id="81"]) > .wpforms-field-layout-rows { grid-template-columns: minmax(0, 1fr) !important; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="71"], [data-field-id="85"]) { grid-area: 4 / 1; margin-top: 24px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="79"], [data-field-id="86"]) { grid-area: 5 / 1; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is([data-field-id="80"], [data-field-id="87"]) { grid-area: 6 / 1; }
}
@media (max-width: 420px) {
  #wpforms-4017.afs-configurator { padding-inline: 18px; --afs-card-gap: 12px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 .wpforms-pagebreak-left { gap: 12px; }
  #wpforms-4017.afs-configurator #wpforms-form-4017 :is(button.wpforms-page-button, button[type="submit"]) { min-width: 112px; padding-inline: 16px; }
}


#wpforms-4017.afs-configurator #wpforms-form-4017
.wpforms-field-number-slider-hint.afs-following-hint {
  position: relative;
  width: max-content;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  left: var(--afs-label-left, 0px);
  white-space: nowrap;
}

/* Remove the theme's orange click/focus ring. */
#wpforms-4017.afs-configurator #wpforms-form-4017
:is(
  input[type="range"],
  input[type="checkbox"],
  input[type="radio"],
  button
):focus {
  box-shadow: none !important;
  outline: none;
}

/* Sliders should never have an outer border. */
#wpforms-4017.afs-configurator #wpforms-form-4017
input[type="range"]:focus {
  border: 0 !important;
}

/* Keep unchecked checkbox/radio borders neutral. */
#wpforms-4017.afs-configurator #wpforms-form-4017
:is(input[type="checkbox"], input[type="radio"]):not(:checked):focus {
  border-color: #d1d5db !important;
}

/* Keep a clear indicator when navigating by keyboard. */
#wpforms-4017.afs-configurator #wpforms-form-4017
:is(
  input[type="range"],
  input[type="checkbox"],
  input[type="radio"],
  button
):focus-visible {
  outline: 2px solid #111827;
  outline-offset: 4px;
}