.elementor-1726 .elementor-element.elementor-element-91f91ec{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1726 .elementor-element.elementor-element-15ddcdf{--display:flex;}.elementor-1726 .elementor-element.elementor-element-d19b4c1{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1726 .elementor-element.elementor-element-d7591fe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1726 .elementor-element.elementor-element-d7591fe.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1726 .elementor-element.elementor-element-fdc0e68 .dynamic-content-for-elementor-acf{margin-bottom:0px;}.elementor-1726 .elementor-element.elementor-element-d5f0a70{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:01px 01px 01px 01px;--border-top-width:01px;--border-right-width:01px;--border-bottom-width:01px;--border-left-width:01px;border-color:#AFB3C0;--border-color:#AFB3C0;--border-radius:8px 8px 8px 8px;box-shadow:0px 2px 8px 0px rgba(0, 0, 0, 0.1);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2px;--padding-bottom:2px;--padding-left:2px;--padding-right:2px;}.elementor-1726 .elementor-element.elementor-element-d5f0a70:not(.elementor-motion-effects-element-type-background), .elementor-1726 .elementor-element.elementor-element-d5f0a70 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E6EBFD;}.elementor-1726 .elementor-element.elementor-element-57eb5c7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1726 .elementor-element.elementor-element-716c216{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1726 .elementor-element.elementor-element-c0ee3e8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:-45px;--margin-left:0px;--margin-right:0px;--z-index:3;}.elementor-1726 .elementor-element.elementor-element-c0ee3e8:not(.elementor-motion-effects-element-type-background), .elementor-1726 .elementor-element.elementor-element-c0ee3e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#01A4EF;}.elementor-1726 .elementor-element.elementor-element-c0ee3e8.e-con{--e-con-transform-translateY:-45px;}.elementor-1726 .elementor-element.elementor-element-95864a4 .dynamic-content-for-elementor-acf{color:var( --e-global-color-b89eff1 );margin-bottom:0px;font-size:18px;font-weight:700;}.elementor-1726 .elementor-element.elementor-element-4b9a7b0{--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;--gap:0px 7px;--row-gap:0px;--column-gap:7px;border-style:none;--border-style:none;--border-radius:12px 12px 12px 12px;}.elementor-1726 .elementor-element.elementor-element-235c0c9 > .elementor-widget-container{background-color:var( --e-global-color-b89eff1 );border-style:solid;border-width:4px 4px 4px 4px;border-color:var( --e-global-color-406f17f );}.elementor-1726 .elementor-element.elementor-element-5addac6{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 0px 04px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:04px;border-color:var( --e-global-color-406f17f );--border-color:var( --e-global-color-406f17f );--border-radius:12px 12px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-1726 .elementor-element.elementor-element-5addac6:not(.elementor-motion-effects-element-type-background), .elementor-1726 .elementor-element.elementor-element-5addac6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-faa4433 );}.elementor-1726 .elementor-element.elementor-element-e573972{text-align:justify;}.elementor-1726 .elementor-element.elementor-element-e573972 .dynamic-content-for-elementor-acf{color:var( --e-global-color-f297741 );margin-bottom:0px;}.elementor-1726 .elementor-element.elementor-element-33fc975{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1726 .elementor-element.elementor-element-baa6d58 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1726 .elementor-element.elementor-element-baa6d58{text-align:start;}.elementor-1726 .elementor-element.elementor-element-baa6d58 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:700;color:var( --e-global-color-f297741 );}.elementor-1726 .elementor-element.elementor-element-e19a2be > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1726 .elementor-element.elementor-element-e19a2be .dynamic-content-for-elementor-acf{color:var( --e-global-color-f297741 );margin-bottom:0px;}.elementor-1726 .elementor-element.elementor-element-ad1c0a4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:12px 12px 12px 12px;--margin-top:040px;--margin-bottom:25px;--margin-left:0px;--margin-right:020px;--padding-top:020px;--padding-bottom:0px;--padding-left:0px;--padding-right:10px;}.elementor-1726 .elementor-element.elementor-element-ad1c0a4:not(.elementor-motion-effects-element-type-background), .elementor-1726 .elementor-element.elementor-element-ad1c0a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-faa4433 );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-1726 .elementor-element.elementor-element-6844f77{--divider-border-style:solid;--divider-color:var( --e-global-color-406f17f );--divider-border-width:4px;}.elementor-1726 .elementor-element.elementor-element-6844f77 > .elementor-widget-container{padding:0px 015px 0px 015px;}.elementor-1726 .elementor-element.elementor-element-6844f77 .elementor-divider-separator{width:100%;}.elementor-1726 .elementor-element.elementor-element-6844f77 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-1726 .elementor-element.elementor-element-6844f77 .elementor-divider__text{color:var( --e-global-color-7ff36df );font-family:"Roboto", Sans-serif;font-size:20px;font-weight:700;}.elementor-1726 .elementor-element.elementor-element-998f79a > .elementor-widget-container{padding:17px 010px 0px 015px;}.elementor-1726 .elementor-element.elementor-element-33279d8 > .elementor-widget-container{padding:0px 0px 0px 020px;}.elementor-1726 .elementor-element.elementor-element-33279d8 .dynamic-content-for-elementor-acf{color:var( --e-global-color-f297741 );margin-bottom:0px;}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid{display:flex;flex-wrap:wrap;}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-masonry .dce-acf-repeater-item{width:calc( 100% / 1 );}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid .dce-acf-repeater-item{flex:0 1 calc( 100% / 1 );flex-grow:1;}.elementor-1726 .elementor-element.elementor-element-e593d87{--display:flex;}.elementor-1726 .elementor-element.elementor-element-961c2cc{--display:flex;}.elementor-1726 .elementor-element.elementor-element-c939a46{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;}.elementor-1726 .elementor-element.elementor-element-bb1bc16{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-1726 .elementor-element.elementor-element-d7591fe{--width:100%;}.elementor-1726 .elementor-element.elementor-element-57eb5c7{--width:50%;}.elementor-1726 .elementor-element.elementor-element-ad1c0a4{--width:50%;}}@media(max-width:1024px){.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid{display:flex;flex-wrap:wrap;}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-masonry .dce-acf-repeater-item{width:calc( 100% / 3 );}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid .dce-acf-repeater-item{flex:0 1 calc( 100% / 3 );}}@media(max-width:767px){.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid{display:flex;flex-wrap:wrap;}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-masonry .dce-acf-repeater-item{width:calc( 100% / 1 );}.elementor-1726 .elementor-element.elementor-element-b7e70e1 .dce-acf-repeater-grid .dce-acf-repeater-item{flex:0 1 calc( 100% / 1 );}}/* Start custom CSS for shortcode, class: .elementor-element-3112e0b *//*
File: ilt-add-to-cart-widget-element-v1.1.txt
Purpose: Add-to-cart widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.1

Use on the Add-to-cart shortcode widget in the parent applications template.
This version targets the actual rendered structure shown by the inspector:
.elementor-shortcode > p.product.woocommerce.add_to_cart_inline > a.button

Main fix:
- Removes the default paragraph margin from p.product.add_to_cart_inline.
- Makes the shortcode wrapper, paragraph, and button all inline-flex/centred.
- Prevents the empty screen-reader span from contributing visual height or spacing.
*/

.elementor-1726 .elementor-element.elementor-element-3112e0b {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/*
Critical fix: WooCommerce outputs the add-to-cart button inside a paragraph.
Paragraphs commonly carry bottom margin, which can create the apparent gap below the button.
*/
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode > p.product,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode p {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Actual button */
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .add_to_cart_button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .product_type_composite {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  padding: 12px 16px !important;
  margin: 0 !important;

  line-height: 1.2 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

/* The generated screen-reader span should not affect the visual layout. */
.elementor-1726 .elementor-element.elementor-element-3112e0b .screen-reader-text {
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
}

/* Neutralise local vertical drift from the behaviour class without removing its click behaviour. */
.elementor-1726 .elementor-element.elementor-element-3112e0b.open-booking-sidebar,
.elementor-1726 .elementor-element.elementor-element-3112e0b .open-booking-sidebar {
  align-self: center !important;
  transform: none !important;
  top: auto !important;
  bottom: auto !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a3d445c *//*
File: ilt-session-slot-widget-element-v1.4.txt
Purpose: Session slot widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.4

Changes from v1.3:
- Reduces left/right padding from 16px to 10px to reclaim horizontal space.
- Reduces the visual gap between the left accent and the session slot text.
- Keeps the current acceptable session slot height and transparent background.
- Keeps support for pn-slot-row if it is still present.
*/

.elementor-1726 .elementor-element.elementor-element-a3d445c {
  --pn-tip-accent: #2b78e4;
  --pn-tip-text: #123;
  --pn-tip-font: 15px;
  --pn-tip-weight: 700;
  --pn-tip-strong-weight: 900;

  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Session slot visible box */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;

  min-height: 48px !important;
  padding: 12px 10px !important;
  margin: 0 !important;

  border-left: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--pn-tip-text) !important;

  font-size: var(--pn-tip-font) !important;
  font-weight: var(--pn-tip-weight) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Curved 4px left accent for the session slot. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid var(--pn-tip-accent) !important;
  border-radius: 4px !important;

  background: transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Keep shortcode content above the accent overlay. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Reset common inner wrappers if the shortcode outputs its own container. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-slot,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-row {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  display: inline !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode strong,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode b {
  font-weight: var(--pn-tip-strong-weight) !important;
  letter-spacing: .2px !important;
  color: inherit !important;
  font-size: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p {
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p + p {
  margin-top: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a:hover {
  text-decoration-thickness: 2px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-235c0c9 *//*
File: ilt-price-widget-element-v1.7.txt
Purpose: Price widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.7

Why this version exists:
- Previous height changes may not have appeared because the visible price box is likely the Elementor shortcode wrapper, not .pn-app-price or .price.
- This version makes .elementor-shortcode the visible price box.
- Inner WooCommerce/price spans are reset so they cannot create a second/taller box.
*/

.elementor-1726 .elementor-element.elementor-element-235c0c9 {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
The visible price box.
Targeting .elementor-shortcode is deliberate: if height changes on .pn-app-price did not visually change,
the wrapper is probably the actual box you are seeing.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 7px !important;
  margin: 0 !important;

  border: 1px solid #d9e2ec !important;
  border-radius: 4px !important;
  background: #ffffff !important;

  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

/*
Inner price output: no box styling here.
These are only the text/amount wrappers inside the visible .elementor-shortcode box.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .pn-app-price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-amount,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-currencySymbol,
.elementor-1726 .elementor-element.elementor-element-235c0c9 bdi {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;

  color: #0067B8 !important;
  font-weight: 700 !important;
  font-size: 1.1em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e80a33d *//*
Purpose: Preview Discounts pill CSS.
Paste into: Preview Discounts shortcode widget > Advanced > Custom CSS
Version: 1.1
*/

/* Host/widget alignment */
.elementor-1726 .elementor-element.elementor-element-e80a33d {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-shortcode {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Wrapper */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* Trigger pill/button */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;

  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #222 !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-trigger,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-trigger {
  background: #e9e9e9 !important;
  border-color: #bdbdbd !important;
}

/* Panel: centred under the pill */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 6px) !important;

  width: 270px !important;
  max-width: 92vw !important;

  border: 1px solid #ddd !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;

  z-index: 999999 !important;
  overflow: hidden !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -6px) !important;
  pointer-events: none !important;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;

  text-align: left !important;
}

/* Strong show rule */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-panel,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
}

/* Green title bar */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel-title {
  display: block !important;
  padding: 8px 10px !important;
  background: #1f8a3b !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

/* Table */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  table-layout: fixed !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th {
  padding: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: #f6f6f6 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:first-child {
  text-align: right !important;
  width: 54% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:last-child {
  text-align: center !important;
  width: 46% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td {
  padding: 6px 7px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:nth-child(even) {
  background: #f6f6f6 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:first-child {
  text-align: right !important;
  width: 54% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:last-child {
  text-align: center !important;
  width: 46% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:last-child td {
  border-bottom: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b9a7b0 *//*
File: ilt-parent-application-action-container-v1.9.txt
Purpose: Parent application details action container CSS for Elementor > Advanced > Custom CSS.
Version: 1.9

Changes from v1.8:
- Increases vertical spacing above and below the container from 10px to 15px.
- Keeps wrapping enabled so elements do not overflow outside the container.
- Keeps compact spacing, reduced side padding, and the proven curved 4px left accent.
*/

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
  box-sizing: border-box !important;
  position: relative !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  /* row-gap column-gap */
  gap: 6px 5px !important;

  width: 100% !important;

  /* Vertical gap around the whole container */
  margin: 15px 0 !important;

  padding: 10px 8px 10px 10px !important;

  background: #F3F8FF !important;
  border: 1px solid #d9e2ec !important;
  border-left: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* Proven curved 4px left accent. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid #01A4EF !important;
  border-radius: 12px !important;

  background: transparent !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Make each child behave as a compact row item rather than a full-width Elementor block. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element,
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep a little breathing room before the Preview Discounts pill when it fits on the same row. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
  margin-left: 4px !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > * {
  position: relative;
  z-index: 3;
}

/* On very narrow screens, remove the extra pill offset because wrapping will create its own spacing. */
@media (max-width: 767px) {
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 15px 0 !important;
    padding: 10px 8px 10px 10px !important;
  }

  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
    margin-left: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for dyncontel-acf, class: .elementor-element-e573972 */.elementor-1726 .elementor-element.elementor-element-e573972 p {
    margin-bottom: 0.5em;
}

.elementor-1726 .elementor-element.elementor-element-e573972 p:last-child {
    margin-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-998f79a *//* 
PN — App Categories Outcomes (WITH ICONS) — Elementor Widget Scoped Styling (Accordion-title look) 
Version: v1.0.5 
Date: 2026-05-07 
Author: Copilot for Paul Neale 
 
PASTE LOCATION (as you prefer) 
- Elementor → Shortcode widget → Advanced → Custom CSS 
  (or the container that holds the widget) 
 
FULL REPLACEMENT 
- Replace v1.0.4 (and earlier) with this v1.0.5. 
 
CHANGES IN v1.0.5 
- Default state: frames have a WHITE background. 
- Icon alignment: keeps the icon-nudge variable; default is slightly lower for better optical alignment. 
 
Notes 
- Icons keep their original colours on hover; only text turns white. 
*/ 
 
/* --------------------------------------------------------- 
0) Widget-scope tokens (mirrors your Category Accordion token strategy) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a{ 
  /* Quarter palette */ 
  --ilt_red:  #F25022; 
  --ilt_blue: #01A4EF; 
  --ilt_green:#7FBA00; 
  --ilt_gold: #EBBB41; 
  --ilt_black:#000000; 
 
  /* Default border colour fallback */ 
  --pn-default-border: rgba(0,0,0,.18); 
 
  /* Button tokens (fallbacks if your global tokens aren’t present) */ 
  --pn-btn-bg:       var(--oia-btn-bg, #0067B8); 
  --pn-btn-bg-hover: var(--oia-btn-bg-hover, #054C83); 
  --pn-btn-text:     var(--oia-btn-text, #ffffff); 
 
  /* Elevation */ 
  --pn-shadow-collapsed: var(--oia-btn-shadow, 0 2px 2px rgba(0,0,0,.12)); 
  --pn-shadow-hover:     var(--oia-btn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)); 
  --pn-shadow-active:    0 3px 6px rgba(0,0,0,.28); 
 
  /* Shape */ 
  --pn-radius: var(--oia-btn-radius, 8px); 
 
  /* Compact sizing */ 
  --pn-row-pad-y: 8px; 
  --pn-row-pad-x: 14px; 
  --pn-row-min-h: 40px; 
 
  /* NEW: Default background */ 
  --pn-row-bg: #ffffff; 
 
  /* Icon nudge (positive = move down) */ 
  --pn-icon-nudge-y: 1.5px; 
} 
 
/* --------------------------------------------------------- 
1) Layout (vertical centring) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__list{ 
  display: grid; 
  gap: 10px; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  display: grid; 
  grid-template-columns: auto 1fr; 
  column-gap: 10px; 
  align-items: center; 
} 
 
/* Make the icon column a true flex box so centring is deterministic */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon{ 
  display: flex; 
  align-items: center; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon .pn-session-slot-icon{ 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  line-height: 1; 
  margin-top: 0; 
  transform: translateY(var(--pn-icon-nudge-y)); 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text{ 
  line-height: 1.25; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text strong{ 
  font-weight: 800; 
} 
 
/* --------------------------------------------------------- 
2) Map bucket → row border colour (collapsed state) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q1){ --pn-row-border: var(--ilt_red); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q2){ --pn-row-border: var(--ilt_blue); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q3){ --pn-row-border: var(--ilt_green); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q4){ --pn-row-border: var(--ilt_gold); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-full_day){ --pn-row-border: var(--ilt_black); } 
 
/* --------------------------------------------------------- 
3) “Accordion title” look for each row (compact) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  padding: var(--pn-row-pad-y) var(--pn-row-pad-x); 
  min-height: var(--pn-row-min-h); 
 
  border: 1px solid var(--pn-default-border); 
  border-color: var(--pn-row-border, var(--pn-default-border)); 
  border-radius: var(--pn-radius); 
 
  box-shadow: var(--pn-shadow-collapsed); 
 
  /* NEW: white background by default */ 
  background-color: var(--pn-row-bg); 
 
  cursor: pointer; 
 
  transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .05s ease; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover{ 
  background-color: var(--pn-btn-bg); 
  border-color: var(--pn-btn-bg); 
  box-shadow: var(--pn-shadow-hover); 
} 
 
/* Only the TEXT turns white on hover */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible), 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:focus-visible{ 
  background-color: var(--pn-btn-bg-hover); 
  border-color: var(--pn-btn-bg-hover); 
  box-shadow: var(--pn-shadow-active); 
  outline: 2px solid var(--pn-btn-bg-hover); 
  outline-offset: 2px; 
} 
 
/* Only the TEXT turns white on focus */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:active{ 
  transform: translateY(1px); 
} 
 
/* --------------------------------------------------------- 
4) Link hygiene (future-proofing if you wrap rows in <a>) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item a{ 
  color: inherit; 
  text-decoration: none; 
}
/*
PN — Outcomes Buttons: Button Reset + Hover + Persistent Selected State (Elementor Scoped)
Version: v1.0.3
Date: 2026-05-07

WHAT THIS DOES
- Default (not hovered, not focused, not selected): white background + normal text.
- Hover: blue background + white text.
- Selected (.pn-outcome-active): blue background + white text (persistent).
- Icons remain their original colours (we only colour the text).

WHERE TO PASTE
- Elementor → the Shortcode widget (or container) that holds [pn_app_categories_outcomes_with_icons]
  → Advanced → Custom CSS

IMPORTANT
- This is a FULL REPLACEMENT for prior outcome-button CSS patches.
*/

/* 1) Reset browser/theme button defaults */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn{
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit !important; /* keep default text readable */
}

/* 2) Default background = white ONLY when not hovered/focused AND not selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:not(.pn-outcome-active):not(:hover):not(:focus-visible){
  background-color: var(--pn-row-bg, #ffffff) !important;
}

/* 3) Hover background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover{
  background-color: var(--pn-btn-bg, #0067B8) !important;
}

/* 4) Focus-visible background = darker blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible{
  background-color: var(--pn-btn-bg-hover, #054C83) !important;
}

/* 5) Selected (persistent) background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active{
  background-color: var(--pn-btn-bg, #0067B8) !important;
  border-color: var(--pn-btn-bg, #0067B8) !important;
  box-shadow: var(--pn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)) !important;
}

/* 6) Text colour rules: default inherit; white only on hover/focus/selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text *{
  color: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3112e0b *//*
File: ilt-add-to-cart-widget-element-v1.1.txt
Purpose: Add-to-cart widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.1

Use on the Add-to-cart shortcode widget in the parent applications template.
This version targets the actual rendered structure shown by the inspector:
.elementor-shortcode > p.product.woocommerce.add_to_cart_inline > a.button

Main fix:
- Removes the default paragraph margin from p.product.add_to_cart_inline.
- Makes the shortcode wrapper, paragraph, and button all inline-flex/centred.
- Prevents the empty screen-reader span from contributing visual height or spacing.
*/

.elementor-1726 .elementor-element.elementor-element-3112e0b {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/*
Critical fix: WooCommerce outputs the add-to-cart button inside a paragraph.
Paragraphs commonly carry bottom margin, which can create the apparent gap below the button.
*/
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode > p.product,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode p {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Actual button */
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .add_to_cart_button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .product_type_composite {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  padding: 12px 16px !important;
  margin: 0 !important;

  line-height: 1.2 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

/* The generated screen-reader span should not affect the visual layout. */
.elementor-1726 .elementor-element.elementor-element-3112e0b .screen-reader-text {
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
}

/* Neutralise local vertical drift from the behaviour class without removing its click behaviour. */
.elementor-1726 .elementor-element.elementor-element-3112e0b.open-booking-sidebar,
.elementor-1726 .elementor-element.elementor-element-3112e0b .open-booking-sidebar {
  align-self: center !important;
  transform: none !important;
  top: auto !important;
  bottom: auto !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a3d445c *//*
File: ilt-session-slot-widget-element-v1.4.txt
Purpose: Session slot widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.4

Changes from v1.3:
- Reduces left/right padding from 16px to 10px to reclaim horizontal space.
- Reduces the visual gap between the left accent and the session slot text.
- Keeps the current acceptable session slot height and transparent background.
- Keeps support for pn-slot-row if it is still present.
*/

.elementor-1726 .elementor-element.elementor-element-a3d445c {
  --pn-tip-accent: #2b78e4;
  --pn-tip-text: #123;
  --pn-tip-font: 15px;
  --pn-tip-weight: 700;
  --pn-tip-strong-weight: 900;

  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Session slot visible box */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;

  min-height: 48px !important;
  padding: 12px 10px !important;
  margin: 0 !important;

  border-left: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--pn-tip-text) !important;

  font-size: var(--pn-tip-font) !important;
  font-weight: var(--pn-tip-weight) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Curved 4px left accent for the session slot. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid var(--pn-tip-accent) !important;
  border-radius: 4px !important;

  background: transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Keep shortcode content above the accent overlay. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Reset common inner wrappers if the shortcode outputs its own container. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-slot,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-row {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  display: inline !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode strong,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode b {
  font-weight: var(--pn-tip-strong-weight) !important;
  letter-spacing: .2px !important;
  color: inherit !important;
  font-size: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p {
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p + p {
  margin-top: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a:hover {
  text-decoration-thickness: 2px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-235c0c9 *//*
File: ilt-price-widget-element-v1.7.txt
Purpose: Price widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.7

Why this version exists:
- Previous height changes may not have appeared because the visible price box is likely the Elementor shortcode wrapper, not .pn-app-price or .price.
- This version makes .elementor-shortcode the visible price box.
- Inner WooCommerce/price spans are reset so they cannot create a second/taller box.
*/

.elementor-1726 .elementor-element.elementor-element-235c0c9 {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
The visible price box.
Targeting .elementor-shortcode is deliberate: if height changes on .pn-app-price did not visually change,
the wrapper is probably the actual box you are seeing.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 7px !important;
  margin: 0 !important;

  border: 1px solid #d9e2ec !important;
  border-radius: 4px !important;
  background: #ffffff !important;

  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

/*
Inner price output: no box styling here.
These are only the text/amount wrappers inside the visible .elementor-shortcode box.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .pn-app-price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-amount,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-currencySymbol,
.elementor-1726 .elementor-element.elementor-element-235c0c9 bdi {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;

  color: #0067B8 !important;
  font-weight: 700 !important;
  font-size: 1.1em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e80a33d *//*
Purpose: Preview Discounts pill CSS.
Paste into: Preview Discounts shortcode widget > Advanced > Custom CSS
Version: 1.1
*/

/* Host/widget alignment */
.elementor-1726 .elementor-element.elementor-element-e80a33d {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-shortcode {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Wrapper */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* Trigger pill/button */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;

  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #222 !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-trigger,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-trigger {
  background: #e9e9e9 !important;
  border-color: #bdbdbd !important;
}

/* Panel: centred under the pill */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 6px) !important;

  width: 270px !important;
  max-width: 92vw !important;

  border: 1px solid #ddd !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;

  z-index: 999999 !important;
  overflow: hidden !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -6px) !important;
  pointer-events: none !important;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;

  text-align: left !important;
}

/* Strong show rule */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-panel,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
}

/* Green title bar */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel-title {
  display: block !important;
  padding: 8px 10px !important;
  background: #1f8a3b !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

/* Table */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  table-layout: fixed !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th {
  padding: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: #f6f6f6 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:first-child {
  text-align: right !important;
  width: 54% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:last-child {
  text-align: center !important;
  width: 46% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td {
  padding: 6px 7px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:nth-child(even) {
  background: #f6f6f6 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:first-child {
  text-align: right !important;
  width: 54% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:last-child {
  text-align: center !important;
  width: 46% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:last-child td {
  border-bottom: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b9a7b0 *//*
File: ilt-parent-application-action-container-v1.9.txt
Purpose: Parent application details action container CSS for Elementor > Advanced > Custom CSS.
Version: 1.9

Changes from v1.8:
- Increases vertical spacing above and below the container from 10px to 15px.
- Keeps wrapping enabled so elements do not overflow outside the container.
- Keeps compact spacing, reduced side padding, and the proven curved 4px left accent.
*/

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
  box-sizing: border-box !important;
  position: relative !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  /* row-gap column-gap */
  gap: 6px 5px !important;

  width: 100% !important;

  /* Vertical gap around the whole container */
  margin: 15px 0 !important;

  padding: 10px 8px 10px 10px !important;

  background: #F3F8FF !important;
  border: 1px solid #d9e2ec !important;
  border-left: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* Proven curved 4px left accent. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid #01A4EF !important;
  border-radius: 12px !important;

  background: transparent !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Make each child behave as a compact row item rather than a full-width Elementor block. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element,
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep a little breathing room before the Preview Discounts pill when it fits on the same row. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
  margin-left: 4px !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > * {
  position: relative;
  z-index: 3;
}

/* On very narrow screens, remove the extra pill offset because wrapping will create its own spacing. */
@media (max-width: 767px) {
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 15px 0 !important;
    padding: 10px 8px 10px 10px !important;
  }

  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
    margin-left: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for dyncontel-acf, class: .elementor-element-e573972 */.elementor-1726 .elementor-element.elementor-element-e573972 p {
    margin-bottom: 0.5em;
}

.elementor-1726 .elementor-element.elementor-element-e573972 p:last-child {
    margin-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-998f79a *//* 
PN — App Categories Outcomes (WITH ICONS) — Elementor Widget Scoped Styling (Accordion-title look) 
Version: v1.0.5 
Date: 2026-05-07 
Author: Copilot for Paul Neale 
 
PASTE LOCATION (as you prefer) 
- Elementor → Shortcode widget → Advanced → Custom CSS 
  (or the container that holds the widget) 
 
FULL REPLACEMENT 
- Replace v1.0.4 (and earlier) with this v1.0.5. 
 
CHANGES IN v1.0.5 
- Default state: frames have a WHITE background. 
- Icon alignment: keeps the icon-nudge variable; default is slightly lower for better optical alignment. 
 
Notes 
- Icons keep their original colours on hover; only text turns white. 
*/ 
 
/* --------------------------------------------------------- 
0) Widget-scope tokens (mirrors your Category Accordion token strategy) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a{ 
  /* Quarter palette */ 
  --ilt_red:  #F25022; 
  --ilt_blue: #01A4EF; 
  --ilt_green:#7FBA00; 
  --ilt_gold: #EBBB41; 
  --ilt_black:#000000; 
 
  /* Default border colour fallback */ 
  --pn-default-border: rgba(0,0,0,.18); 
 
  /* Button tokens (fallbacks if your global tokens aren’t present) */ 
  --pn-btn-bg:       var(--oia-btn-bg, #0067B8); 
  --pn-btn-bg-hover: var(--oia-btn-bg-hover, #054C83); 
  --pn-btn-text:     var(--oia-btn-text, #ffffff); 
 
  /* Elevation */ 
  --pn-shadow-collapsed: var(--oia-btn-shadow, 0 2px 2px rgba(0,0,0,.12)); 
  --pn-shadow-hover:     var(--oia-btn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)); 
  --pn-shadow-active:    0 3px 6px rgba(0,0,0,.28); 
 
  /* Shape */ 
  --pn-radius: var(--oia-btn-radius, 8px); 
 
  /* Compact sizing */ 
  --pn-row-pad-y: 8px; 
  --pn-row-pad-x: 14px; 
  --pn-row-min-h: 40px; 
 
  /* NEW: Default background */ 
  --pn-row-bg: #ffffff; 
 
  /* Icon nudge (positive = move down) */ 
  --pn-icon-nudge-y: 1.5px; 
} 
 
/* --------------------------------------------------------- 
1) Layout (vertical centring) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__list{ 
  display: grid; 
  gap: 10px; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  display: grid; 
  grid-template-columns: auto 1fr; 
  column-gap: 10px; 
  align-items: center; 
} 
 
/* Make the icon column a true flex box so centring is deterministic */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon{ 
  display: flex; 
  align-items: center; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon .pn-session-slot-icon{ 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  line-height: 1; 
  margin-top: 0; 
  transform: translateY(var(--pn-icon-nudge-y)); 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text{ 
  line-height: 1.25; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text strong{ 
  font-weight: 800; 
} 
 
/* --------------------------------------------------------- 
2) Map bucket → row border colour (collapsed state) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q1){ --pn-row-border: var(--ilt_red); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q2){ --pn-row-border: var(--ilt_blue); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q3){ --pn-row-border: var(--ilt_green); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q4){ --pn-row-border: var(--ilt_gold); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-full_day){ --pn-row-border: var(--ilt_black); } 
 
/* --------------------------------------------------------- 
3) “Accordion title” look for each row (compact) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  padding: var(--pn-row-pad-y) var(--pn-row-pad-x); 
  min-height: var(--pn-row-min-h); 
 
  border: 1px solid var(--pn-default-border); 
  border-color: var(--pn-row-border, var(--pn-default-border)); 
  border-radius: var(--pn-radius); 
 
  box-shadow: var(--pn-shadow-collapsed); 
 
  /* NEW: white background by default */ 
  background-color: var(--pn-row-bg); 
 
  cursor: pointer; 
 
  transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .05s ease; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover{ 
  background-color: var(--pn-btn-bg); 
  border-color: var(--pn-btn-bg); 
  box-shadow: var(--pn-shadow-hover); 
} 
 
/* Only the TEXT turns white on hover */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible), 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:focus-visible{ 
  background-color: var(--pn-btn-bg-hover); 
  border-color: var(--pn-btn-bg-hover); 
  box-shadow: var(--pn-shadow-active); 
  outline: 2px solid var(--pn-btn-bg-hover); 
  outline-offset: 2px; 
} 
 
/* Only the TEXT turns white on focus */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:active{ 
  transform: translateY(1px); 
} 
 
/* --------------------------------------------------------- 
4) Link hygiene (future-proofing if you wrap rows in <a>) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item a{ 
  color: inherit; 
  text-decoration: none; 
}
/*
PN — Outcomes Buttons: Button Reset + Hover + Persistent Selected State (Elementor Scoped)
Version: v1.0.3
Date: 2026-05-07

WHAT THIS DOES
- Default (not hovered, not focused, not selected): white background + normal text.
- Hover: blue background + white text.
- Selected (.pn-outcome-active): blue background + white text (persistent).
- Icons remain their original colours (we only colour the text).

WHERE TO PASTE
- Elementor → the Shortcode widget (or container) that holds [pn_app_categories_outcomes_with_icons]
  → Advanced → Custom CSS

IMPORTANT
- This is a FULL REPLACEMENT for prior outcome-button CSS patches.
*/

/* 1) Reset browser/theme button defaults */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn{
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit !important; /* keep default text readable */
}

/* 2) Default background = white ONLY when not hovered/focused AND not selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:not(.pn-outcome-active):not(:hover):not(:focus-visible){
  background-color: var(--pn-row-bg, #ffffff) !important;
}

/* 3) Hover background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover{
  background-color: var(--pn-btn-bg, #0067B8) !important;
}

/* 4) Focus-visible background = darker blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible{
  background-color: var(--pn-btn-bg-hover, #054C83) !important;
}

/* 5) Selected (persistent) background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active{
  background-color: var(--pn-btn-bg, #0067B8) !important;
  border-color: var(--pn-btn-bg, #0067B8) !important;
  box-shadow: var(--pn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)) !important;
}

/* 6) Text colour rules: default inherit; white only on hover/focus/selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text *{
  color: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3112e0b *//*
File: ilt-add-to-cart-widget-element-v1.1.txt
Purpose: Add-to-cart widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.1

Use on the Add-to-cart shortcode widget in the parent applications template.
This version targets the actual rendered structure shown by the inspector:
.elementor-shortcode > p.product.woocommerce.add_to_cart_inline > a.button

Main fix:
- Removes the default paragraph margin from p.product.add_to_cart_inline.
- Makes the shortcode wrapper, paragraph, and button all inline-flex/centred.
- Prevents the empty screen-reader span from contributing visual height or spacing.
*/

.elementor-1726 .elementor-element.elementor-element-3112e0b {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/*
Critical fix: WooCommerce outputs the add-to-cart button inside a paragraph.
Paragraphs commonly carry bottom margin, which can create the apparent gap below the button.
*/
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode > p.product,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode p {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Actual button */
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .add_to_cart_button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .product_type_composite {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  padding: 12px 16px !important;
  margin: 0 !important;

  line-height: 1.2 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

/* The generated screen-reader span should not affect the visual layout. */
.elementor-1726 .elementor-element.elementor-element-3112e0b .screen-reader-text {
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
}

/* Neutralise local vertical drift from the behaviour class without removing its click behaviour. */
.elementor-1726 .elementor-element.elementor-element-3112e0b.open-booking-sidebar,
.elementor-1726 .elementor-element.elementor-element-3112e0b .open-booking-sidebar {
  align-self: center !important;
  transform: none !important;
  top: auto !important;
  bottom: auto !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a3d445c *//*
File: ilt-session-slot-widget-element-v1.4.txt
Purpose: Session slot widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.4

Changes from v1.3:
- Reduces left/right padding from 16px to 10px to reclaim horizontal space.
- Reduces the visual gap between the left accent and the session slot text.
- Keeps the current acceptable session slot height and transparent background.
- Keeps support for pn-slot-row if it is still present.
*/

.elementor-1726 .elementor-element.elementor-element-a3d445c {
  --pn-tip-accent: #2b78e4;
  --pn-tip-text: #123;
  --pn-tip-font: 15px;
  --pn-tip-weight: 700;
  --pn-tip-strong-weight: 900;

  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Session slot visible box */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;

  min-height: 48px !important;
  padding: 12px 10px !important;
  margin: 0 !important;

  border-left: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--pn-tip-text) !important;

  font-size: var(--pn-tip-font) !important;
  font-weight: var(--pn-tip-weight) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Curved 4px left accent for the session slot. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid var(--pn-tip-accent) !important;
  border-radius: 4px !important;

  background: transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Keep shortcode content above the accent overlay. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Reset common inner wrappers if the shortcode outputs its own container. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-slot,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-row {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  display: inline !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode strong,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode b {
  font-weight: var(--pn-tip-strong-weight) !important;
  letter-spacing: .2px !important;
  color: inherit !important;
  font-size: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p {
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p + p {
  margin-top: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a:hover {
  text-decoration-thickness: 2px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-235c0c9 *//*
File: ilt-price-widget-element-v1.7.txt
Purpose: Price widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.7

Why this version exists:
- Previous height changes may not have appeared because the visible price box is likely the Elementor shortcode wrapper, not .pn-app-price or .price.
- This version makes .elementor-shortcode the visible price box.
- Inner WooCommerce/price spans are reset so they cannot create a second/taller box.
*/

.elementor-1726 .elementor-element.elementor-element-235c0c9 {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
The visible price box.
Targeting .elementor-shortcode is deliberate: if height changes on .pn-app-price did not visually change,
the wrapper is probably the actual box you are seeing.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 7px !important;
  margin: 0 !important;

  border: 1px solid #d9e2ec !important;
  border-radius: 4px !important;
  background: #ffffff !important;

  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

/*
Inner price output: no box styling here.
These are only the text/amount wrappers inside the visible .elementor-shortcode box.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .pn-app-price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-amount,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-currencySymbol,
.elementor-1726 .elementor-element.elementor-element-235c0c9 bdi {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;

  color: #0067B8 !important;
  font-weight: 700 !important;
  font-size: 1.1em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e80a33d *//*
Purpose: Preview Discounts pill CSS.
Paste into: Preview Discounts shortcode widget > Advanced > Custom CSS
Version: 1.1
*/

/* Host/widget alignment */
.elementor-1726 .elementor-element.elementor-element-e80a33d {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-shortcode {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Wrapper */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* Trigger pill/button */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;

  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #222 !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-trigger,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-trigger {
  background: #e9e9e9 !important;
  border-color: #bdbdbd !important;
}

/* Panel: centred under the pill */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 6px) !important;

  width: 270px !important;
  max-width: 92vw !important;

  border: 1px solid #ddd !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;

  z-index: 999999 !important;
  overflow: hidden !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -6px) !important;
  pointer-events: none !important;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;

  text-align: left !important;
}

/* Strong show rule */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-panel,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
}

/* Green title bar */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel-title {
  display: block !important;
  padding: 8px 10px !important;
  background: #1f8a3b !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

/* Table */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  table-layout: fixed !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th {
  padding: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: #f6f6f6 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:first-child {
  text-align: right !important;
  width: 54% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:last-child {
  text-align: center !important;
  width: 46% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td {
  padding: 6px 7px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:nth-child(even) {
  background: #f6f6f6 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:first-child {
  text-align: right !important;
  width: 54% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:last-child {
  text-align: center !important;
  width: 46% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:last-child td {
  border-bottom: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b9a7b0 *//*
File: ilt-parent-application-action-container-v1.9.txt
Purpose: Parent application details action container CSS for Elementor > Advanced > Custom CSS.
Version: 1.9

Changes from v1.8:
- Increases vertical spacing above and below the container from 10px to 15px.
- Keeps wrapping enabled so elements do not overflow outside the container.
- Keeps compact spacing, reduced side padding, and the proven curved 4px left accent.
*/

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
  box-sizing: border-box !important;
  position: relative !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  /* row-gap column-gap */
  gap: 6px 5px !important;

  width: 100% !important;

  /* Vertical gap around the whole container */
  margin: 15px 0 !important;

  padding: 10px 8px 10px 10px !important;

  background: #F3F8FF !important;
  border: 1px solid #d9e2ec !important;
  border-left: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* Proven curved 4px left accent. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid #01A4EF !important;
  border-radius: 12px !important;

  background: transparent !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Make each child behave as a compact row item rather than a full-width Elementor block. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element,
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep a little breathing room before the Preview Discounts pill when it fits on the same row. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
  margin-left: 4px !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > * {
  position: relative;
  z-index: 3;
}

/* On very narrow screens, remove the extra pill offset because wrapping will create its own spacing. */
@media (max-width: 767px) {
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 15px 0 !important;
    padding: 10px 8px 10px 10px !important;
  }

  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
    margin-left: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for dyncontel-acf, class: .elementor-element-e573972 */.elementor-1726 .elementor-element.elementor-element-e573972 p {
    margin-bottom: 0.5em;
}

.elementor-1726 .elementor-element.elementor-element-e573972 p:last-child {
    margin-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-998f79a *//* 
PN — App Categories Outcomes (WITH ICONS) — Elementor Widget Scoped Styling (Accordion-title look) 
Version: v1.0.5 
Date: 2026-05-07 
Author: Copilot for Paul Neale 
 
PASTE LOCATION (as you prefer) 
- Elementor → Shortcode widget → Advanced → Custom CSS 
  (or the container that holds the widget) 
 
FULL REPLACEMENT 
- Replace v1.0.4 (and earlier) with this v1.0.5. 
 
CHANGES IN v1.0.5 
- Default state: frames have a WHITE background. 
- Icon alignment: keeps the icon-nudge variable; default is slightly lower for better optical alignment. 
 
Notes 
- Icons keep their original colours on hover; only text turns white. 
*/ 
 
/* --------------------------------------------------------- 
0) Widget-scope tokens (mirrors your Category Accordion token strategy) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a{ 
  /* Quarter palette */ 
  --ilt_red:  #F25022; 
  --ilt_blue: #01A4EF; 
  --ilt_green:#7FBA00; 
  --ilt_gold: #EBBB41; 
  --ilt_black:#000000; 
 
  /* Default border colour fallback */ 
  --pn-default-border: rgba(0,0,0,.18); 
 
  /* Button tokens (fallbacks if your global tokens aren’t present) */ 
  --pn-btn-bg:       var(--oia-btn-bg, #0067B8); 
  --pn-btn-bg-hover: var(--oia-btn-bg-hover, #054C83); 
  --pn-btn-text:     var(--oia-btn-text, #ffffff); 
 
  /* Elevation */ 
  --pn-shadow-collapsed: var(--oia-btn-shadow, 0 2px 2px rgba(0,0,0,.12)); 
  --pn-shadow-hover:     var(--oia-btn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)); 
  --pn-shadow-active:    0 3px 6px rgba(0,0,0,.28); 
 
  /* Shape */ 
  --pn-radius: var(--oia-btn-radius, 8px); 
 
  /* Compact sizing */ 
  --pn-row-pad-y: 8px; 
  --pn-row-pad-x: 14px; 
  --pn-row-min-h: 40px; 
 
  /* NEW: Default background */ 
  --pn-row-bg: #ffffff; 
 
  /* Icon nudge (positive = move down) */ 
  --pn-icon-nudge-y: 1.5px; 
} 
 
/* --------------------------------------------------------- 
1) Layout (vertical centring) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__list{ 
  display: grid; 
  gap: 10px; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  display: grid; 
  grid-template-columns: auto 1fr; 
  column-gap: 10px; 
  align-items: center; 
} 
 
/* Make the icon column a true flex box so centring is deterministic */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon{ 
  display: flex; 
  align-items: center; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon .pn-session-slot-icon{ 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  line-height: 1; 
  margin-top: 0; 
  transform: translateY(var(--pn-icon-nudge-y)); 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text{ 
  line-height: 1.25; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text strong{ 
  font-weight: 800; 
} 
 
/* --------------------------------------------------------- 
2) Map bucket → row border colour (collapsed state) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q1){ --pn-row-border: var(--ilt_red); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q2){ --pn-row-border: var(--ilt_blue); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q3){ --pn-row-border: var(--ilt_green); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q4){ --pn-row-border: var(--ilt_gold); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-full_day){ --pn-row-border: var(--ilt_black); } 
 
/* --------------------------------------------------------- 
3) “Accordion title” look for each row (compact) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  padding: var(--pn-row-pad-y) var(--pn-row-pad-x); 
  min-height: var(--pn-row-min-h); 
 
  border: 1px solid var(--pn-default-border); 
  border-color: var(--pn-row-border, var(--pn-default-border)); 
  border-radius: var(--pn-radius); 
 
  box-shadow: var(--pn-shadow-collapsed); 
 
  /* NEW: white background by default */ 
  background-color: var(--pn-row-bg); 
 
  cursor: pointer; 
 
  transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .05s ease; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover{ 
  background-color: var(--pn-btn-bg); 
  border-color: var(--pn-btn-bg); 
  box-shadow: var(--pn-shadow-hover); 
} 
 
/* Only the TEXT turns white on hover */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible), 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:focus-visible{ 
  background-color: var(--pn-btn-bg-hover); 
  border-color: var(--pn-btn-bg-hover); 
  box-shadow: var(--pn-shadow-active); 
  outline: 2px solid var(--pn-btn-bg-hover); 
  outline-offset: 2px; 
} 
 
/* Only the TEXT turns white on focus */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:active{ 
  transform: translateY(1px); 
} 
 
/* --------------------------------------------------------- 
4) Link hygiene (future-proofing if you wrap rows in <a>) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item a{ 
  color: inherit; 
  text-decoration: none; 
}
/*
PN — Outcomes Buttons: Button Reset + Hover + Persistent Selected State (Elementor Scoped)
Version: v1.0.3
Date: 2026-05-07

WHAT THIS DOES
- Default (not hovered, not focused, not selected): white background + normal text.
- Hover: blue background + white text.
- Selected (.pn-outcome-active): blue background + white text (persistent).
- Icons remain their original colours (we only colour the text).

WHERE TO PASTE
- Elementor → the Shortcode widget (or container) that holds [pn_app_categories_outcomes_with_icons]
  → Advanced → Custom CSS

IMPORTANT
- This is a FULL REPLACEMENT for prior outcome-button CSS patches.
*/

/* 1) Reset browser/theme button defaults */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn{
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit !important; /* keep default text readable */
}

/* 2) Default background = white ONLY when not hovered/focused AND not selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:not(.pn-outcome-active):not(:hover):not(:focus-visible){
  background-color: var(--pn-row-bg, #ffffff) !important;
}

/* 3) Hover background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover{
  background-color: var(--pn-btn-bg, #0067B8) !important;
}

/* 4) Focus-visible background = darker blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible{
  background-color: var(--pn-btn-bg-hover, #054C83) !important;
}

/* 5) Selected (persistent) background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active{
  background-color: var(--pn-btn-bg, #0067B8) !important;
  border-color: var(--pn-btn-bg, #0067B8) !important;
  box-shadow: var(--pn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)) !important;
}

/* 6) Text colour rules: default inherit; white only on hover/focus/selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text *{
  color: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3112e0b *//*
File: ilt-add-to-cart-widget-element-v1.1.txt
Purpose: Add-to-cart widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.1

Use on the Add-to-cart shortcode widget in the parent applications template.
This version targets the actual rendered structure shown by the inspector:
.elementor-shortcode > p.product.woocommerce.add_to_cart_inline > a.button

Main fix:
- Removes the default paragraph margin from p.product.add_to_cart_inline.
- Makes the shortcode wrapper, paragraph, and button all inline-flex/centred.
- Prevents the empty screen-reader span from contributing visual height or spacing.
*/

.elementor-1726 .elementor-element.elementor-element-3112e0b {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/*
Critical fix: WooCommerce outputs the add-to-cart button inside a paragraph.
Paragraphs commonly carry bottom margin, which can create the apparent gap below the button.
*/
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode > p.product,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode p {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Actual button */
.elementor-1726 .elementor-element.elementor-element-3112e0b p.product.woocommerce.add_to_cart_inline a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .elementor-shortcode a.button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .add_to_cart_button,
.elementor-1726 .elementor-element.elementor-element-3112e0b .product_type_composite {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  padding: 12px 16px !important;
  margin: 0 !important;

  line-height: 1.2 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

/* The generated screen-reader span should not affect the visual layout. */
.elementor-1726 .elementor-element.elementor-element-3112e0b .screen-reader-text {
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
}

/* Neutralise local vertical drift from the behaviour class without removing its click behaviour. */
.elementor-1726 .elementor-element.elementor-element-3112e0b.open-booking-sidebar,
.elementor-1726 .elementor-element.elementor-element-3112e0b .open-booking-sidebar {
  align-self: center !important;
  transform: none !important;
  top: auto !important;
  bottom: auto !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a3d445c *//*
File: ilt-session-slot-widget-element-v1.4.txt
Purpose: Session slot widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.4

Changes from v1.3:
- Reduces left/right padding from 16px to 10px to reclaim horizontal space.
- Reduces the visual gap between the left accent and the session slot text.
- Keeps the current acceptable session slot height and transparent background.
- Keeps support for pn-slot-row if it is still present.
*/

.elementor-1726 .elementor-element.elementor-element-a3d445c {
  --pn-tip-accent: #2b78e4;
  --pn-tip-text: #123;
  --pn-tip-font: 15px;
  --pn-tip-weight: 700;
  --pn-tip-strong-weight: 900;

  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Session slot visible box */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;

  min-height: 48px !important;
  padding: 12px 10px !important;
  margin: 0 !important;

  border-left: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--pn-tip-text) !important;

  font-size: var(--pn-tip-font) !important;
  font-weight: var(--pn-tip-weight) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Curved 4px left accent for the session slot. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid var(--pn-tip-accent) !important;
  border-radius: 4px !important;

  background: transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Keep shortcode content above the accent overlay. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Reset common inner wrappers if the shortcode outputs its own container. */
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-session-slot,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-tip,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode .pn-slot-row {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  display: inline !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode strong,
.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode b {
  font-weight: var(--pn-tip-strong-weight) !important;
  letter-spacing: .2px !important;
  color: inherit !important;
  font-size: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p {
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode p + p {
  margin-top: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.elementor-1726 .elementor-element.elementor-element-a3d445c .elementor-shortcode a:hover {
  text-decoration-thickness: 2px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-235c0c9 *//*
File: ilt-price-widget-element-v1.7.txt
Purpose: Price widget CSS for Elementor > Advanced > Custom CSS.
Version: 1.7

Why this version exists:
- Previous height changes may not have appeared because the visible price box is likely the Elementor shortcode wrapper, not .pn-app-price or .price.
- This version makes .elementor-shortcode the visible price box.
- Inner WooCommerce/price spans are reset so they cannot create a second/taller box.
*/

.elementor-1726 .elementor-element.elementor-element-235c0c9 {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
The visible price box.
Targeting .elementor-shortcode is deliberate: if height changes on .pn-app-price did not visually change,
the wrapper is probably the actual box you are seeing.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .elementor-shortcode {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 7px !important;
  margin: 0 !important;

  border: 1px solid #d9e2ec !important;
  border-radius: 4px !important;
  background: #ffffff !important;

  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

/*
Inner price output: no box styling here.
These are only the text/amount wrappers inside the visible .elementor-shortcode box.
*/
.elementor-1726 .elementor-element.elementor-element-235c0c9 .pn-app-price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .price,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-amount,
.elementor-1726 .elementor-element.elementor-element-235c0c9 .woocommerce-Price-currencySymbol,
.elementor-1726 .elementor-element.elementor-element-235c0c9 bdi {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;

  color: #0067B8 !important;
  font-weight: 700 !important;
  font-size: 1.1em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e80a33d *//*
Purpose: Preview Discounts pill CSS.
Paste into: Preview Discounts shortcode widget > Advanced > Custom CSS
Version: 1.1
*/

/* Host/widget alignment */
.elementor-1726 .elementor-element.elementor-element-e80a33d {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-widget-container,
.elementor-1726 .elementor-element.elementor-element-e80a33d .elementor-shortcode {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Wrapper */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* Trigger pill/button */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;

  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #222 !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-trigger,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-trigger {
  background: #e9e9e9 !important;
  border-color: #bdbdbd !important;
}

/* Panel: centred under the pill */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 6px) !important;

  width: 270px !important;
  max-width: 92vw !important;

  border: 1px solid #ddd !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;

  z-index: 999999 !important;
  overflow: hidden !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -6px) !important;
  pointer-events: none !important;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;

  text-align: left !important;
}

/* Strong show rule */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:hover .pn-discounts-panel,
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-wrap:focus-within .pn-discounts-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
}

/* Green title bar */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-panel-title {
  display: block !important;
  padding: 8px 10px !important;
  background: #1f8a3b !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

/* Table */
.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  table-layout: fixed !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th {
  padding: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: #f6f6f6 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  white-space: nowrap !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:first-child {
  text-align: right !important;
  width: 54% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table thead th:last-child {
  text-align: center !important;
  width: 46% !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td {
  padding: 6px 7px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:nth-child(even) {
  background: #f6f6f6 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:first-child {
  text-align: right !important;
  width: 54% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody td:last-child {
  text-align: center !important;
  width: 46% !important;
  font-weight: 700 !important;
}

.elementor-1726 .elementor-element.elementor-element-e80a33d .pn-discounts-table tbody tr:last-child td {
  border-bottom: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b9a7b0 *//*
File: ilt-parent-application-action-container-v1.9.txt
Purpose: Parent application details action container CSS for Elementor > Advanced > Custom CSS.
Version: 1.9

Changes from v1.8:
- Increases vertical spacing above and below the container from 10px to 15px.
- Keeps wrapping enabled so elements do not overflow outside the container.
- Keeps compact spacing, reduced side padding, and the proven curved 4px left accent.
*/

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
  box-sizing: border-box !important;
  position: relative !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  /* row-gap column-gap */
  gap: 6px 5px !important;

  width: 100% !important;

  /* Vertical gap around the whole container */
  margin: 15px 0 !important;

  padding: 10px 8px 10px 10px !important;

  background: #F3F8FF !important;
  border: 1px solid #d9e2ec !important;
  border-left: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* Proven curved 4px left accent. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;

  border-left: 4px solid #01A4EF !important;
  border-radius: 12px !important;

  background: transparent !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Make each child behave as a compact row item rather than a full-width Elementor block. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element,
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget-container {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep a little breathing room before the Preview Discounts pill when it fits on the same row. */
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
  margin-left: 4px !important;
}

.elementor-1726 .elementor-element.elementor-element-4b9a7b0 > * {
  position: relative;
  z-index: 3;
}

/* On very narrow screens, remove the extra pill offset because wrapping will create its own spacing. */
@media (max-width: 767px) {
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 15px 0 !important;
    padding: 10px 8px 10px 10px !important;
  }

  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 .elementor-widget:has(.pn-discounts-wrap),
  .elementor-1726 .elementor-element.elementor-element-4b9a7b0 > .elementor-element:has(.pn-discounts-wrap) {
    margin-left: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for dyncontel-acf, class: .elementor-element-e573972 */.elementor-1726 .elementor-element.elementor-element-e573972 p {
    margin-bottom: 0.5em;
}

.elementor-1726 .elementor-element.elementor-element-e573972 p:last-child {
    margin-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-998f79a *//* 
PN — App Categories Outcomes (WITH ICONS) — Elementor Widget Scoped Styling (Accordion-title look) 
Version: v1.0.5 
Date: 2026-05-07 
Author: Copilot for Paul Neale 
 
PASTE LOCATION (as you prefer) 
- Elementor → Shortcode widget → Advanced → Custom CSS 
  (or the container that holds the widget) 
 
FULL REPLACEMENT 
- Replace v1.0.4 (and earlier) with this v1.0.5. 
 
CHANGES IN v1.0.5 
- Default state: frames have a WHITE background. 
- Icon alignment: keeps the icon-nudge variable; default is slightly lower for better optical alignment. 
 
Notes 
- Icons keep their original colours on hover; only text turns white. 
*/ 
 
/* --------------------------------------------------------- 
0) Widget-scope tokens (mirrors your Category Accordion token strategy) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a{ 
  /* Quarter palette */ 
  --ilt_red:  #F25022; 
  --ilt_blue: #01A4EF; 
  --ilt_green:#7FBA00; 
  --ilt_gold: #EBBB41; 
  --ilt_black:#000000; 
 
  /* Default border colour fallback */ 
  --pn-default-border: rgba(0,0,0,.18); 
 
  /* Button tokens (fallbacks if your global tokens aren’t present) */ 
  --pn-btn-bg:       var(--oia-btn-bg, #0067B8); 
  --pn-btn-bg-hover: var(--oia-btn-bg-hover, #054C83); 
  --pn-btn-text:     var(--oia-btn-text, #ffffff); 
 
  /* Elevation */ 
  --pn-shadow-collapsed: var(--oia-btn-shadow, 0 2px 2px rgba(0,0,0,.12)); 
  --pn-shadow-hover:     var(--oia-btn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)); 
  --pn-shadow-active:    0 3px 6px rgba(0,0,0,.28); 
 
  /* Shape */ 
  --pn-radius: var(--oia-btn-radius, 8px); 
 
  /* Compact sizing */ 
  --pn-row-pad-y: 8px; 
  --pn-row-pad-x: 14px; 
  --pn-row-min-h: 40px; 
 
  /* NEW: Default background */ 
  --pn-row-bg: #ffffff; 
 
  /* Icon nudge (positive = move down) */ 
  --pn-icon-nudge-y: 1.5px; 
} 
 
/* --------------------------------------------------------- 
1) Layout (vertical centring) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__list{ 
  display: grid; 
  gap: 10px; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  display: grid; 
  grid-template-columns: auto 1fr; 
  column-gap: 10px; 
  align-items: center; 
} 
 
/* Make the icon column a true flex box so centring is deterministic */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon{ 
  display: flex; 
  align-items: center; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__icon .pn-session-slot-icon{ 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  line-height: 1; 
  margin-top: 0; 
  transform: translateY(var(--pn-icon-nudge-y)); 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text{ 
  line-height: 1.25; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__text strong{ 
  font-weight: 800; 
} 
 
/* --------------------------------------------------------- 
2) Map bucket → row border colour (collapsed state) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q1){ --pn-row-border: var(--ilt_red); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q2){ --pn-row-border: var(--ilt_blue); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q3){ --pn-row-border: var(--ilt_green); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-q4){ --pn-row-border: var(--ilt_gold); } 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(.pn-session-slot-icon.pn-bucket-full_day){ --pn-row-border: var(--ilt_black); } 
 
/* --------------------------------------------------------- 
3) “Accordion title” look for each row (compact) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item{ 
  padding: var(--pn-row-pad-y) var(--pn-row-pad-x); 
  min-height: var(--pn-row-min-h); 
 
  border: 1px solid var(--pn-default-border); 
  border-color: var(--pn-row-border, var(--pn-default-border)); 
  border-radius: var(--pn-radius); 
 
  box-shadow: var(--pn-shadow-collapsed); 
 
  /* NEW: white background by default */ 
  background-color: var(--pn-row-bg); 
 
  cursor: pointer; 
 
  transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, transform .05s ease; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover{ 
  background-color: var(--pn-btn-bg); 
  border-color: var(--pn-btn-bg); 
  box-shadow: var(--pn-shadow-hover); 
} 
 
/* Only the TEXT turns white on hover */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:hover .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible), 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:focus-visible{ 
  background-color: var(--pn-btn-bg-hover); 
  border-color: var(--pn-btn-bg-hover); 
  box-shadow: var(--pn-shadow-active); 
  outline: 2px solid var(--pn-btn-bg-hover); 
  outline-offset: 2px; 
} 
 
/* Only the TEXT turns white on focus */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text, 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:has(a:focus-visible) .pn-app-outcomes__text *{ 
  color: var(--pn-btn-text) !important; 
} 
 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item:active{ 
  transform: translateY(1px); 
} 
 
/* --------------------------------------------------------- 
4) Link hygiene (future-proofing if you wrap rows in <a>) 
--------------------------------------------------------- */ 
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__item a{ 
  color: inherit; 
  text-decoration: none; 
}
/*
PN — Outcomes Buttons: Button Reset + Hover + Persistent Selected State (Elementor Scoped)
Version: v1.0.3
Date: 2026-05-07

WHAT THIS DOES
- Default (not hovered, not focused, not selected): white background + normal text.
- Hover: blue background + white text.
- Selected (.pn-outcome-active): blue background + white text (persistent).
- Icons remain their original colours (we only colour the text).

WHERE TO PASTE
- Elementor → the Shortcode widget (or container) that holds [pn_app_categories_outcomes_with_icons]
  → Advanced → Custom CSS

IMPORTANT
- This is a FULL REPLACEMENT for prior outcome-button CSS patches.
*/

/* 1) Reset browser/theme button defaults */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn{
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit !important; /* keep default text readable */
}

/* 2) Default background = white ONLY when not hovered/focused AND not selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:not(.pn-outcome-active):not(:hover):not(:focus-visible){
  background-color: var(--pn-row-bg, #ffffff) !important;
}

/* 3) Hover background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover{
  background-color: var(--pn-btn-bg, #0067B8) !important;
}

/* 4) Focus-visible background = darker blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible{
  background-color: var(--pn-btn-bg-hover, #054C83) !important;
}

/* 5) Selected (persistent) background = blue */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active{
  background-color: var(--pn-btn-bg, #0067B8) !important;
  border-color: var(--pn-btn-bg, #0067B8) !important;
  box-shadow: var(--pn-shadow-hover, 0 3px 2px rgba(0,0,0,.20)) !important;
}

/* 6) Text colour rules: default inherit; white only on hover/focus/selected */
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn .pn-app-outcomes__text *{
  color: inherit !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:hover .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn:focus-visible .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}

.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text,
.elementor-1726 .elementor-element.elementor-element-998f79a .pn-app-outcomes__btn.pn-outcome-active .pn-app-outcomes__text *{
  color: var(--pn-btn-text, #ffffff) !important;
}/* End custom CSS */