.elementor-371 .elementor-element.elementor-element-f743292{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-371 .elementor-element.elementor-element-42fc7c4{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-371 .elementor-element.elementor-element-42fc7c4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-371 .elementor-element.elementor-element-1b29a61{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-371 .elementor-element.elementor-element-51c1308 .elementor-button{background-color:#F1F1F4;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;text-transform:none;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );box-shadow:0px 2px 7px -1px rgba(255, 255, 255, 0) inset;border-style:none;border-radius:30px 30px 30px 30px;padding:10px 20px 10px 20px;}.elementor-371 .elementor-element.elementor-element-b3e658b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-371 .elementor-element.elementor-element-9826ec5{text-align:center;}.elementor-371 .elementor-element.elementor-element-9826ec5 .elementor-heading-title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-371 .elementor-element.elementor-element-492a6c7{text-align:center;}.elementor-371 .elementor-element.elementor-element-492a6c7 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:41px;font-weight:400;color:var( --e-global-color-text );}.elementor-371 .elementor-element.elementor-element-be264ee{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:104px 104px 104px 104px;--margin-top:80px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;--padding-top:36px;--padding-bottom:36px;--padding-left:36px;--padding-right:36px;}.elementor-371 .elementor-element.elementor-element-be264ee:not(.elementor-motion-effects-element-type-background), .elementor-371 .elementor-element.elementor-element-be264ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1F1F4;}.elementor-371 .elementor-element.elementor-element-7cc7409{--display:flex;--justify-content:center;--border-radius:64px 64px 64px 64px;box-shadow:0px 0px 10px -5px rgba(0,0,0,0.5);--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-371 .elementor-element.elementor-element-7cc7409:not(.elementor-motion-effects-element-type-background), .elementor-371 .elementor-element.elementor-element-7cc7409 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-371 .elementor-element.elementor-element-28f9f64 img{width:35%;}.elementor-371 .elementor-element.elementor-element-e4f0b22{text-align:center;}.elementor-371 .elementor-element.elementor-element-e4f0b22 .elementor-heading-title{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 );color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-371 .elementor-element.elementor-element-9ee4960.elementor-element{--align-self:center;}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(3px/2);}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(3px/2);}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(3px/2);margin-left:calc(3px/2);}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-3px/2);margin-left:calc(-3px/2);}body.rtl .elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-3px/2);}body:not(.rtl) .elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-3px/2);}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-371 .elementor-element.elementor-element-9ee4960{--e-icon-list-icon-size:14px;--e-icon-list-icon-align:left;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0;--icon-vertical-offset:0px;}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-icon{padding-right:5px;}.elementor-371 .elementor-element.elementor-element-9ee4960 .elementor-icon-list-text{color:var( --e-global-color-8fb9109 );transition:color 0.3s;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-371 .elementor-element.elementor-element-0dd8a37{width:100%;max-width:100%;}.elementor-371 .elementor-element.elementor-element-0dd8a37 .cart button, .elementor-371 .elementor-element.elementor-element-0dd8a37 .cart .button{border-radius:30px 30px 30px 30px;padding:18px 22px 18px 22px;background-color:var( --e-global-color-primary );transition:all 0.2s;}.woocommerce .elementor-371 .elementor-element.elementor-element-0dd8a37 form.cart table.variations tr th, .woocommerce .elementor-371 .elementor-element.elementor-element-0dd8a37 form.cart table.variations tr td{padding-top:calc( 0px/2 );padding-bottom:calc( 0px/2 );}.woocommerce .elementor-371 .elementor-element.elementor-element-0dd8a37 form.cart table.variations label{color:var( --e-global-color-primary );}.woocommerce .elementor-371 .elementor-element.elementor-element-0dd8a37 form.cart table.variations td.value select{color:var( --e-global-color-accent );}#elementor-popup-modal-371 .dialog-message{width:100vw;height:auto;}#elementor-popup-modal-371{justify-content:center;align-items:center;}#elementor-popup-modal-371 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:1024px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-371 .elementor-element.elementor-element-9826ec5 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-371 .elementor-element.elementor-element-e4f0b22 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(min-width:768px){.elementor-371 .elementor-element.elementor-element-f743292{--content-width:1311px;}.elementor-371 .elementor-element.elementor-element-42fc7c4{--width:83.408%;}.elementor-371 .elementor-element.elementor-element-1b29a61{--width:84%;}.elementor-371 .elementor-element.elementor-element-b3e658b{--width:84%;}.elementor-371 .elementor-element.elementor-element-be264ee{--width:50%;}.elementor-371 .elementor-element.elementor-element-7cc7409{--width:100%;}}@media(max-width:767px){.elementor-371 .elementor-element.elementor-element-1b29a61{--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-371 .elementor-element.elementor-element-51c1308 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-371 .elementor-element.elementor-element-b3e658b{--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-371 .elementor-element.elementor-element-9826ec5 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-371 .elementor-element.elementor-element-492a6c7 .elementor-heading-title{font-size:36px;}.elementor-371 .elementor-element.elementor-element-be264ee{--border-radius:48px 48px 48px 48px;--margin-top:40px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-371 .elementor-element.elementor-element-7cc7409{--border-radius:32px 32px 32px 32px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-371 .elementor-element.elementor-element-e4f0b22 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-371 .elementor-element.elementor-element-9ee4960 > .elementor-widget-container{margin:0px 30px 0px 30px;}.elementor-371 .elementor-element.elementor-element-9ee4960.elementor-element{--align-self:flex-start;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-0dd8a37 *//* RADIO ITEMS ONLY ↓ */
form.cart .wapf-field-container.wapf-field-radio .wapf-radios {
  display: inline-flex;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 20px;
  position: relative;
  padding: 12px;
  border-radius: 24px;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.1);
}

form.cart .wapf-field-container.wapf-field-radio input[type="radio"],
form.cart .wapf-field-container.wapf-field-radio .wapf-custom {
  display: none !important;
}

form.cart .wapf-field-container.wapf-field-radio .wapf-label-text {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 13px;
  cursor: pointer;
  user-select: none;
  transition: color 0.2s ease;
  color: #000;
  position: relative;
  z-index: 1;
}

form.cart .wapf-field-container.wapf-field-radio
    .wapf-input:checked + .wapf-custom + .wapf-label-text {
  color: #FF4F00;
}

form.cart .wapf-field-container.wapf-field-radio .wapf-slider {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background-color: #fff;
  border: 2px solid #fff;
  transition: transform 0.3s ease;
  z-index: 0;
}
/* RADIO-ONLY CSS END ↑ */

/* CHECKBOX-ONLY STYLES ↓ */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-input {
  display: none !important;              /* hide native checkbox */
}

form.cart .wapf-field-container.wapf-field-checkboxes .wapf-custom {
  display: inline-flex;                  /* use flex to center the tick */
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 8px;                     /* space before label text */
  vertical-align: middle;
  border: 2px solid #ccc;                /* grey box when unchecked */
  border-radius: 4px;                    /* slight rounding */
  background-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;                    /* for the pseudo-element */
}

form.cart .wapf-field-container.wapf-field-checkboxes .wapf-input:checked + .wapf-custom {
  background-color: #FF4F00;             /* orange fill when checked */
  border-color:    #FF4F00;              /* orange border when checked */
}

form.cart .wapf-field-container.wapf-field-checkboxes .wapf-input:checked + .wapf-custom::after {
  content: '✓';
  color: #fff;                           /* white tick */
  font-size: 16px;                       /* slightly larger */
  font-weight: bold;                     /* thicker stroke */
  line-height: 1;                        /* flex centering handles alignment */
}

/* ensure label text stays aligned */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-label-text {
  vertical-align: middle;
}

/* ——————————————————————————————— */
/* Checkbox: true edge-to-edge hint */
/* ——————————————————————————————— */

/* 1) Make the field-input and its inner .wapf-checkboxes full width */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-field-input,
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-checkboxes {
  width: 100%;
  box-sizing: border-box;
}

/* 2) Ensure each .wapf-checkbox row is full width */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-checkbox {
  width: 100%;
}

/* 3) Turn the label into a flex container that spans 100% */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-input-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}

/* 4) Keep your custom box on the left with its margin */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-custom {
  margin-right: 8px;
}

/* 5) Wrap the option text and hint, spacing them apart */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-label-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
}

/* 6) Prevent the hint from ever wrapping */
form.cart .wapf-field-container.wapf-field-checkboxes .wapf-pricing-hint {
  white-space: nowrap;
  margin-left: 8px;
}


/* ——————————————————————————————— */
/* Checkbox: color entire line when checked */
/* ——————————————————————————————— */

/* Target the label‐text & hint following the custom box on a checked input */
form.cart .wapf-field-container.wapf-field-checkboxes 
  .wapf-input:checked + .wapf-custom + .wapf-label-text {
  color: #FF4F00;      /* main label text goes orange */
}

/* And make sure the hint itself also inherits that color */
form.cart .wapf-field-container.wapf-field-checkboxes 
  .wapf-input:checked + .wapf-custom + .wapf-label-text 
  .wapf-pricing-hint {
  color: #FF4F00;      /* pricing hint turns orange too */
}

/* Center the Add to Cart button with minimal top gap */
form.cart .single_add_to_cart_button {
  display: block !important;
  margin: 10px auto 0 !important;  /* 10px above, auto left/right, 0 below */
}

/* Hide the APF grand-total heading entirely */
form.cart .wapf-product-totals .wapf--inner {
  display: none !important;
}

/* Hide pricing hints for radio options only */
form.cart .wapf-field-container.wapf-field-radio .wapf-pricing-hint {
  display: none !important;
}







/* Style the dynamic hint next to “Additional Pages” */
.toggle-additional-pages + span + .additional-pages-hint {
  margin-left: 8px;
  white-space: nowrap;
  font-weight: normal; /* match your other hints */
  color: #000;         /* will inherit orange when needed */
}
.toggle-additional-pages:checked + span + .additional-pages-hint {
  color: #FF4F00;
}


/* ——————————————————————————————— */
/* Align Additional Pages hint flush right */
/* ——————————————————————————————— */
form.cart .wapf-field-container.wapf-field-radio .wapf-field-label label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}

/* ——————————————————————————————— */
/* Style “Additional Pages” toggle like APF checkboxes */
/* ——————————————————————————————— */
form.cart .toggle-additional-pages {
  display: none !important;  /* hide the real checkbox */
}

form.cart .toggle-additional-pages + span {
  position: relative;
  padding-left: 28px;        /* 20px box + 8px gap before text */
  cursor: pointer;
}

/* draw the grey box behind the text */
form.cart .toggle-additional-pages + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* fill it orange when checked */
form.cart .toggle-additional-pages:checked + span::before {
  background-color: #FF4F00;
  border-color:     #FF4F00;
}

/* show a white ✓ inside when checked */
form.cart .toggle-additional-pages:checked + span::after {
  content: "✓";
  position: absolute;
  /* anchor inside the 20px box at left:0 of the span */
  left: 2px;                     /* (20px box − 16px tick)/2 ≈ 2px */
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}/* End custom CSS */