:root {
  --brand: #ff6a00;
  --brand-2: #0aa1a9;
}
/* Example tweak */
.et_pb_button { border-radius: 8px; }

/* CLIMAtlantic checkout layout */
/* === CLIMAtlantic: Checkout two-column layout === */
/* Container width similar to reference project */
.filter-outer-wrap .filter-wrap label{font-weight: 700!important;}
.fc-event, .fc-event-dot {
    background-color: #F89D1E!important;
        border: 1px solid #F89D1E!important;
}
.event-detail-wrap .event-container-content {
  border: 1px solid #b7acac;
    padding: 20px;
    border-radius: 6px;
}
.fc-content-skeleton .fc-event-container .fc-h-event.fc-event .event-lis-outer-wrap h6 {
    color: #212529 !important;
    margin-top: 10px;
font-size:12px;

}
.post-18426 h1{text-align:center;margin-bottom:50px!important;}

.woocommerce-checkout-wrapper h2{
text-align: center;
margin-bottom: 50px;
font-size:30px;}
.woocommerce-checkout-wrapper {max-width:100%!important;
padding:0px!important;}
.place-order button {margin:20px 0px;}
.woocommerce-checkout-payment input[type="radio"] {
accent-color: #238aca;
}
th.product-name, th.product-total {
    background: #238aca;
    color: #fff !important;}
th.product-name {
    width: 70%!important;
}
.woocommerce-checkout-review-order thead, .woocommerce-checkout-review-order tbody, .woocommerce-checkout-review-order tfoot, .woocommerce-checkout-review-order tr, .woocommerce-checkout-review-order td, .woocommerce-checkout-review-order th {
    border-color: #238aca8c!important;
    border-width: 1px!important;
}
.woocommerce-checkout #order_review_heading{
margin-bottom: 8px;
font-size: 24px;
margin-top:40px;}
.woocommerce-checkout h1.entry-title.main_title {text-align: center;}
.woocommerce-field-error {position: relative !important;font-weight: 700;
}
.woocommerce-info a
 {color: #318cca;text-decoration: underline;
font-weight: 700;}
.woocommerce-info {
background-color: #eeeeee !important;color: #238aca !important;border-top: 3px solid;font-weight: 700;}
/* .woocommerce-checkout-wrapper h2 {display: none;} */
.woocommerce button.button:hover{    background: #f89d1e!important;}
.woocommerce-checkout-payment .place-order .button{margin-top:25px}

.checkoutpaynment h2{display:none!important;}
/* Two-column layout using flex */
.woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; /* space between fields */
}

/* Default each field takes 48% (two per row) */
.woocommerce-billing-fields__field-wrapper .form-row {
  flex: 1 1 48%;
  min-width: 250px;
display: flex;
flex-direction: column; /* prevents too small fields on narrow screens */
}
/* #billing_country_field{ flex: 1 1 100%;} */
/* Wide fields take full width */
.woocommerce-billing-fields__field-wrapper .form-row-wide {
  flex: 1 1 48%;
}
#billing_postcode_field{
    flex: 1 1 100%;
} 
/* Consent checkbox always in new row (full width) */
.woocommerce-form__label.woocommerce-form__label-for-checkbox {
  display: block;
  width: 100%;
  margin-top: 20px;
}

.et_pb_wc_checkout_additional_info .col-2{padding:0px!important;}


.et_pb_wc_checkout_billing #customer_details .col-1{padding:0px!important;}

#eq_a1tAu00000DgpeXIAR{background-color: #eeeeee00!important;
border-width: 1px!important;
    height: 10px!important;
}
.fc-content-skeleton table {
    border: 0px !important;
}
#content-area .fc-view table td {padding: .3em .5em!important;}

.woocommerce-checkout #order_review_heading {
    font-size: 26px!important;padding-bottom: 10px;
    border-bottom: 3px solid #238aca;
    margin-bottom: 30px;}
#event-questions h3{    font-size: 26px !important;
    padding-bottom: 10px;
    border-bottom: 3px solid #238aca;
    margin-top:15px;
    margin-bottom: 15px;}
.event-title{text-align: center;padding-top: 45px;padding-bottom: 50px;}
.add-to-cart-event-plugin.cmn-btn.btn:hover {background-color: white !important;
border: 1px solid #F89D1E;color: #F89D1E;
font-size: 14px;
font-weight: 700;
}
.add-to-cart-event-plugin.cmn-btn.btn{font-size: 14px;
font-weight: 700;}
.woocommerce-billing-fields input[type="text"],.woocommerce-billing-fields input[type="email"],.woocommerce-billing-fields input[type="tel"]{border-radius: 3px!important;
    height: 15px!important;}
#eq_a1tAu00000DgpeXIAR input[type="text"]{border-radius: 3px!important;}
.woocommerce .et_pb_wc_checkout_billing_0 .select2-container--default .select2-selection--single{border-radius: 3px!important;}
.et_pb_wc_cart_notice_0 .woocommerce-info {
    background-color: #f6f5f8 !important;
    color: #515151 !important;
    border-top: 3px solid #238aca !important;
}
.woocommerce form .form-row input.input-text{background-color: #fff!important; border: 1px solid black !important;color:black;}
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select{
    border-color: unset !important;
}
.select2-container:not(.select2-container--open) .select2-selection {
   border: 1px solid black !important;
}
.et_pb_wc_cart_notice_0 .woocommerce-info a{color: #2a97d4 !important;
    text-decoration: underline;}
.woocommerce-NoticeGroup .woocommerce-error{    background: #238aca00 !important;
border: 1px solid red;
color: red !important;}
.woocommerce-error a{color:red!important;}
.woocommerce-field-error{display:none;}
#billing_postcode_field .woocommerce-input-wrapper{display: block;
    width: 50%;}
#event-questions p{
display: flex;
flex-direction: column;
width: auto;
}
h3.checkout-section-title {display: block;
width: 100%;
margin: 42px 0px 15px 0px;font-size: 26px;padding-bottom: 10px;border-bottom: 3px solid #238aca;
}
.woocommerce-thankyou-order-received {font-size: 26px;
    margin-bottom: 37px;}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    font-size: 18px;
}

.woocommerce-order thead, .woocommerce-order tbody,.woocommerce-order tfoot, .woocommerce-order tr, .woocommerce-order td, .woocommerce-order th
{
    border-color: #238aca!important;
    border-width: 1px!important;
}

.woocommerce-order {padding:40px!important;}

.order-again a:hover {background: #f89d1e;}
.woocommerce ul.woocommerce-thankyou-order-details li{margin-bottom:20px;}
.woocommerce ul.woocommerce-thankyou-order-details{margin: 0 0 0em!important;}
.woocommerce-order .woocommerce-customer-details address{padding:20px;}
.event-lis-outer-wrap .col-12{
flex: 0 0 60%!important;
overflow: hidden;
}

/* .et_pb_wc_checkout_billing .woocommerce-field-error {display:none;} */
.checkout-inline-error-message{color: red !important;
    font-weight: 500;}
@media (min-width: 960px) {
.woocommerce-order .woocommerce-customer-details {width: 30%;}
.event-banner .container.py-2 .col-lg-4 {flex: 0 0 18%!important;
max-width: 18%!important;}
.event-banner .container.py-2 .col-lg-8 {
flex: 0 0 82%!important;
max-width: 82%!important;
    margin-bottom: 30px;
    }}
.custom-consent-wrapper {
    margin-top: 50px;
    margin-bottom: 40px;
}
.custom-consent-wrapper h3{font-size:26px!important;}
@media (max-width: 768px) {#billing_address_2_field {margin-top: 0px!important;}
    #billing_postcode_field .woocommerce-input-wrapper {
    width: 100%;
}
#eq_a1tAu00000DgpeXIAR{margin-left:0px;}
}
.event-separator{margin:0px!important}
.woocommerce-SavedPaymentMethods-saveNew {
    display: none !important;
}
.woocommerce-error {
    color: red !important;
margin-left: 18px;
background: transparent !important;
}
/* .woocommerce-NoticeGroup .woocommerce-error {
    display: none;
} */
.woocommerce-notices-wrapper ul.woocommerce-error {display: none;}
.custom-consent-wrapper .form-row {border: 0px !important;}
.grp-registeration-header{margin-top: 25px;}
#add_member_btn::after {margin-top: -5px;
}
#group_registration_table{margin-top:20px!important}
.member-edit,.member-remove,.member-save,.cancel-edit{ border: 0;text-decoration: underline;background-color: white;}
.member-remove,.cancel-edit{color:red;}
#event-questions{margin: 52px 0px 30px 0 !important;}
#group_registration_form{
    align-items: stretch!important;
flex-direction: column!important;
}
.member-first-row{display:flex;flex: 1 1 50%;
    gap: 10px;}
.member-last-row .validate-email{
    width: 50%!important;
}
.member-ctas .cancel-btn {border: 1px solid #f89d1e!important;background-color: transparent;color: #f89d1e;}
#group_registration_form .btn{padding: 6px 30px!important;}
button#group_cancel_btn:hover {
    background-color: #f89d1e;
    color:white;
}
#group_registration_form .form-row{min-width:50%!important}
#group_registration_table thead, #group_registration_table tbody, #group_registration_table tfoot, #group_registration_table tr, #group_registration_table td, #group_registration_table th{border:2px solid #238aca8c;padding-left: 10px;}
#group_registration_table thead{background-color: #238aca;}
#group_registration_table th{color:white;}
#group_registration_table tr td {padding: 6px 10px!important;}
@media (max-width: 780px) {
  .member-first-row {
    flex-direction: column;
  }
 #group_registration_form .form-row {
    min-width: 100% !important;
  }
}
#group_registration_form .cancel-btn{
    height: 36px!important;
    padding: 6px 23px !important;
}
#ams_apply_coupon{width: fit-content!important;
padding: 11px 32px!important;}
.event-cancel-wrapper button[type="submit"]{background: #f89d1e!important;font-weight: 700; border: 1px solid #f89d1e!important;    margin-top: 20px;}
.event-cancel-wrapper button[type="submit"]:hover{background: transparent !important;
    border: 1px solid #f89d1e;
    color: #f89d1e;}
.event-cancel-wrapper{border:0px!important}
.event-cancel-wrapper input[type="email"], .event-cancel-wrapper input[type="text"]{border:1px solid black!important;}
.event-cancel-wrapper th{background: #238aca!important;
    color: #fff !important;}
.event-cancel-wrapper th, .event-cancel-wrapper td{border: 1px solid #238aca!important;}

@media screen and (min-width: 780px) {
.cancel-form-wrap {
display: flex; flex-wrap: wrap; flex-direction: row; gap: 20px;justify-content: space-between;}

.cancel-form-row-1,.cancel-form-row-2 {
    width: 48%;
}
    #customer_details .col-1{padding:0px!important;}
    .cancel-form-row-1 label {margin-bottom: 30px!important;}}
#select2-billing_state-container,#select2-billing_country-container,#ams_coupon_code{color:black;}
@media screen and (min-width: 780px){
.woocommerce-billing-fields__field-wrapper #billing_postcode_field .woocommerce-input-wrapper{width:49.2%;}}
#cancel-results {margin-top:50px;}
.woocommerce-billing-fields__field-wrapper:after {
    display: none !important;
}
/* Force consent checkboxes to render normally */
#billing_consent_ack_field,
#billing_terms_ack_field {
    display: block !important;
    margin: 15px 0 !important;
}

#billing_consent_ack_field label,
#billing_terms_ack_field label {
    display: block !important;
    font-weight: 500;
}
.woocommerce-order .woocommerce-order-details 
{margin-top:40px}
.event-lis-outer-wrap .container-fluid{
padding: 0 5px 5px !important;
}

.event-lis-outer-wrap .col-12{
word-wrap: break-word;
overflow: hidden;
}

@media screen and (min-width: 780px) {
.fc-content-skeleton .fc-event-container .fc-h-event.fc-event .event-lis-outer-wrap h6 {
-webkit-line-clamp: 5; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient: vertical; display: -webkit-box; font-weight: 600;
}}

.et_pb_social_media_follow_0_tb_footer {
    display: flex !important;
    gap: 0 !important;
}
.et_pb_social_media_follow li a.follow_button {
    display: none !important;
}
.woocommerce-checkout .entry-title.main_title {
    display: none !important;
}
.woocommerce-billing-fields>h3 {
    display: none;
}
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2, .woocommerce-page.woocommerce-checkout .col2-set .col-1, .woocommerce-page.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: none !important;
}
.et-cart-info{
    display: none !important;
}

/* new css */

/* ============================================================
   1. CUSTOM PROPERTIES
   ============================================================ */

:root {
    /* Brand colours */
    --color-brand-orange:     #F89D1E;
    --color-brand-orange-alt: #f79c1d;  /* near-identical; may unify later */
    --color-brand-blue:       #238ACA;
    --color-brand-blue-dark:  #1f7ab2;
    --color-brand-green:      #1ab394;
    --color-brand-green-alt:  #50b848;
    --color-brand-scroll-bg:  #fee1bd;

    /* Text */
    --color-text-dark:        #333333;
    --color-text-darker:      #282828;
    --color-text-black:       #000000;
    --color-text-muted:       #666666;
    --color-text-meta:        #565656;

    /* Backgrounds & borders */
    --color-white:            #ffffff;
    --color-border:           #e5e5e5;
    --color-border-light:     #ccc;
    --color-bg-light:         #f9f9f9;
    --color-bg-lighter:       #efefef;
    --color-bg-row-even:      #f7f9fb;
    --color-bg-hover:         #eef2f6;
    --color-accordion-bg:     #dceaf5;
    --color-scrollbar-track:  #e3e3e3;
    --color-scrollbar-thumb:  #2a6ebb;

    /* Typography */
    --font-base:              'Lato', sans-serif;
    --font-size-base:         19px;
    --font-size-footer:       17px;
    --font-size-meta:         12px;
    --font-size-nav:          15px;
    --line-height-base:       1.6;
    --line-height-heading:    1.25em;

    /* Spacing */
    --spacing-card:           32px;
    --spacing-section:        50px;

    /* Border radii */
    --radius-sm:              4px;
    --radius-md:              6px;
    --radius-lg:              15px;
    --radius-xl:              25px;

    --base-unit:              8px; /* mirrors SurveyJS --base-unit */
}


/* ============================================================
   2. RESET / BASE
   ============================================================ */
body,html{
    overflow-x: hidden !important;
}
body, p, ul, ol, li {
    font-family: var(--font-base) !important;
    font-size: var(--font-size-base);
    line-height: var(--line-height-base) !important;
    color: var(--color-text-dark) !important;
    letter-spacing: -0.1px;
    -webkit-font-smoothing: antialiased;
}

/* Hides empty paragraphs created by Divi in French translations */
.et_pb_text_inner p:empty {
    display: none !important;
}

/* Last paragraph spacing */
p:not(.has-background):last-of-type {
    padding-bottom: 1em;
}

/* Divi margin reset */
.et_pb_text_inner p:last-child {
    margin-bottom: 0;
}

/* p { max-width: 75ch; } — commented out in original, preserved */

ul, ol {
    margin-bottom: 0;
    padding-left: 1.2em;
}

ul ul {
    margin-top: 0;
    padding-bottom: 0 !important;
}

ul ul li {
    list-style-type: circle;
}

li {
    margin-bottom: 0 !important;
}

img.card-img-top {
    max-width: 100%;
}


/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */

/* Global colour override  */
html[lang] p,
html[lang] h1,
html[lang] h2,
html[lang] h3 {
    color: var(--color-text-black) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-base) !important;
    font-weight: 700 !important;
    color: var(--color-text-black) !important;
    line-height: var(--line-height-heading) !important;
    margin-bottom: 0.3em !important;
    margin-top: 0.5em !important;
}


h1,
h1.et_pb_module_heading.off {
    font-size: 50px !important;
    letter-spacing: -0.8px !important;
    max-width: 50rem;
}

h2 {
    font-size: 35px;
    letter-spacing: -0.4px;
    max-width: 65rem;
}

h3 { font-size: 29px; }
h4 { font-size: 23px; }

h1:first-of-type {
    margin-top: 1rem !important;
    margin-bottom: 0.3rem !important;
}

/* Hero h1 — larger treatment */
#main-content h1:first-of-type,
.et_pb_section:first-child h1 {
    font-size: 60px;
    margin-top: 0;
    margin-bottom: 0.8em;
}

/* French h1 max-width */
html[lang|="fr-FR"] h1 {
    max-width: 60rem !important;
}

/* Hero paragraph */
.hero p {
    color: #070707 !important;
    font-size: 1.5rem !important;
    text-align: left !important;
}

/* Specific h1 colour/alignment override */
.et_builder_inner_content .et_pb_text_0 h1 {
    color: var(--color-text-darker) !important;
    text-align: left;
}

footer p,
footer li {
    font-size: var(--font-size-footer);
}

/* SurveyJS title heading */
.sv-title h5 {
    font-weight: 400;
    font-size: 16px;
    color: var(--color-text-dark);
}

/* Menu link line-height */
.et-menu li li a {
    line-height: 1.25;
}

/* Mobile typography */
@media (max-width: 767px) {
    
    h1 { font-size: 30px !important; 
        letter-spacing: -0.8px !important;
        max-width: 50rem;
    }
    h2 { font-size: 26px; 
        letter-spacing: -0.4px;
        max-width: 65rem;
    }
    h3 { font-size: 23px !important; }
    h4 { font-size: 19px !important; }

    body, p, li { font-size: 16px; }

    footer p { font-size: 14px !important; }
}


/* ============================================================
   4. LAYOUT & STRUCTURE
   ============================================================ */

/* --- Sidebar --- */

div#sidebar {
    display: none;
}

.et_right_sidebar #main-content .container:before {
    display: none;
}

@media (min-width: 981px) {
    .et_right_sidebar #left-area {
        padding-right: unset;
        width: 100%;
    }
}

/* --- Equal columns vertical centering --- */

.et_pb_equal_columns > .et_pb_column {
    margin-block: auto;
}

/* --- Nested container margin reset --- */

.container .container > .row {
    margin: 0;
}

/* --- Image aspect ratio 1:1 --- */

.pa-image-1-1 .et_pb_image_wrap {
    padding-top: 100%;
    display: block;
}

.pa-image-1-1 .et_pb_image_wrap img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* --- Header row --- */

.et_pb_section_0_tb_header .et_pb_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.et_pb_section_0_tb_header .et_pb_column_0_tb_header,
.et_pb_section_0_tb_header .et_pb_column_1_tb_header {
    display: flex;
    align-items: center;
}

.et_pb_section_0_tb_header .et_pb_text_inner {
    white-space: nowrap;
}

/* --- Post slider --- */

.post-slider .et_pb_ajax_pagination_container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 32px;
    padding: 0 24px 12px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.post-slider .et_pb_salvattore_content         { display: flex !important; }
.post-slider .et_pb_salvattore_content > div   { display: contents; }

.post-slider .et_pb_post {
    flex: 0 0 calc(33.33% - 22px);
    min-width: calc(33.33% - 22px);
    margin: 0 !important;
    padding-right: 10px;
    scroll-snap-align: start;
}

.post-slider .post-content                     { margin: 0; }

.post-slider .et_pb_image_container            { margin: 0 0 16px !important; }

.post-slider .et_pb_image_container img {
    width: 100%;
    height: auto;
    display: block;
}

/* ⚠️ Flag: float: none overrides Divi's column float — intentional but fragile. */
.post-slider .et_pb_post .et_pb_column {
    width: 100% !important;
    float: none !important;
}

/* Scrollbar */
.post-slider .et_pb_ajax_pagination_container::-webkit-scrollbar       { height: 6px; }
.post-slider .et_pb_ajax_pagination_container::-webkit-scrollbar-track { background: var(--color-scrollbar-track); border-radius: 20px; }
.post-slider .et_pb_ajax_pagination_container::-webkit-scrollbar-thumb { background: var(--color-scrollbar-thumb); border-radius: 20px; }


/* ============================================================
   5. COMPONENTS
   ============================================================ */

/* --- Navigation --- */

/* force main menu to align right */

.et_pb_menu--style-centered .et_pb_menu__menu > nav > ul, .et_pb_menu--style-centered .et_pb_menu__wrap {
    -webkit-box-pack: right;
    -ms-flex-pack: center;
    justify-content: right;
}

.et-menu-nav > ul {
    display: flex;
    flex-wrap: nowrap !important;
    white-space: nowrap;
}

.et-menu-nav > ul > li {
    white-space: nowrap;
}

/* Reset submenu wrapping */
.et-menu-nav ul ul {
    display: block !important;
    white-space: normal !important;
}

ul#menu-main_menu_en_2026 {
    margin-top: 0;
}

/* --- Header links & search --- */

header a {
    color: var(--color-text-darker) !important;
}

header .secondary_menu a {
    font-size: 12px;
}

header .et_pb_searchform .et_pb_searchsubmit {
    width: 28px !important;
    height: 28px !important;
}
.et_pb_searchform .et_pb_searchsubmit { position: absolute; left: 0px; top: 50%; transform: translateY(-50%); width: 40px; height: 28px; border-radius: 50%; background-color: #ffffff !important; border: none; text-indent: -9999px; cursor: pointer; 
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230066AF' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 105.29 14.29l4.71 4.71 1.41-1.41-4.71-4.71A8 8 0 0010 2zm0 2a6 6 0 110 12 6 6 0 010-12z'/%3E%3C/svg%3E"); 
background-repeat: no-repeat; background-position: center; background-size: 16px; }

header .et_pb_search_0_tb_header input.et_pb_s{
  padding-top:5px !important;
  padding-bottom:5px !important;
}

.et_pb_search_0_tb_header input.et_pb_s {
    padding:5px 0 5px 3em !important;
    height: auto;
    min-height: 0;
}


header .et_pb_search_0_tb_header form input.et_pb_s,
header .et_pb_search_0_tb_header form input.et_pb_s::placeholder {
    font-variant: unset;
    font-size: 14px !important;
}

.et_pb_search_0 input.et_pb_s {
    padding-left: 3rem;
    text-transform: unset !important;
}

.et_pb_menu__search-input {
    background-color: #eee !important;
    padding: 10px;
    border-radius: 10px;
}

#menu-menu_main_fr_2026.et-menu.nav ul li a{
    font-size: 12px !important;
}

/* Desktop secondary nav */
.desktop_header .secondary_menu nav.et-menu-nav {
    justify-content: flex-end;
}

/* Simplified: removed redundant child combinators — same specificity result */
.desktop_header .secondary_menu .et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li {
    margin-top: 0 !important;
}

.secondary_menu .et-menu-nav           { width: 100%; }
.secondary_menu .et_pb_menu__wrap      { justify-content: right; }

.secondary_menu #menu-language-switcher-en,
.secondary_menu #menu-language-switcher-fr {
    margin-top: 0;
    padding-top: 0;
}

@media (max-width: 767px) {
.secondary_menu .et_pb_row_2_tb_header.et_pb_row {
    padding-left: 10px !important;
}


.secondary_menu li a {
    font-size: 12px !important;
}
}

/* Mobile header menus */
.mobile_header .et_pb_menu .et_pb_menu__wrap {
    justify-content: flex-end !important;
    align-items: center;
}

.mobile_header .secondary_menu .et_pb_menu .et_pb_menu__wrap {
    justify-content: space-evenly !important;
    align-items: center;
}

/* Secondary mobile menus */
#menu-secondary_menu_mobile_fr,
#menu-secondary_menu_mobile {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: space-between !important;
}

.no-hamburger .et_pb_menu__menu {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* WPML footer language switcher */
.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-horizontal {
    display: none;
}

/* --- Buttons --- */

/* ⚠️ Flag: font-size was 20px then overridden to 16px; 16px kept as winner. */
.btn.btn-primary {
    margin-block: 20px;
    margin-right: 20px;
    background-color: var(--color-brand-orange);
    border: none;
    line-height: 2;
    font-size: 16px !important;
    font-weight: 600;
}

.et_pb_bg_layout_light.et_pb_button:hover,
.et_pb_bg_layout_light .et_pb_button:hover,
.et_pb_contact_reset:hover,
.et_pb_contact_submit:hover,
.et_pb_pricing_table_button:hover {
    background-color: #ffc107;
}

/* Divi button icon */

html body #page-container .et_pb_section .et_pb_button:before,
html body .pum-container .et_pb_section .et_pb_button:before {
    margin-left: -1.35em !important;
    font-size: 2rem !important;
}

body #page-container .et_pb_section .et_pb_button_3,
body .pum-container .et_pb_section .et_pb_button_3,
footer .pum-container .et_pb_section .et_pb_button_3 {
    font-size: 14px !important;
}

/* Inline buttons */
.pa-inline-buttons .et_pb_button_module_wrapper {
    display: inline-block;
}

/* --- Scroll-to-top --- */

/* ⚠️ Flag: hover restates position properties; kept to avoid transition issues. */
.et_pb_scroll_top.et-pb-icon {
    bottom: 15px;
    right: 25px;
    background: var(--color-brand-scroll-bg);
    border-radius: var(--radius-xl);
}

.et_pb_scroll_top.et-pb-icon:hover {
    background: var(--color-brand-orange-alt);
}

/* --- Cards --- */

.card              { margin-bottom: var(--spacing-card); }
.card-title        { line-height: 1.4; }

/* --- Newsletter / email opt-in --- */

form.et_pb_newsletter_custom_fields {
    padding-right: 20px;
}

/* --- Blog / archive --- */

/* Hide blog category links */
.single-post .et_pb_section_0_tb_body .et_pb_text_0_tb_body,
p.post-meta a[href="https://climatlantic.ca/category/blog/"],
.et_pb_blurb_container .et_pb_module_header a[href="https://climatlantic.ca/category/blog/"] {
    display: none;
}

.archive .post-meta { color: var(--color-white); }

.archive .post-meta span,
.archive .post-meta a {
    color: var(--color-text-meta);
    text-transform: uppercase;
    font-size: var(--font-size-meta) !important;
    font-weight: 700;
}

.archive .post-meta:before {
    display: inline-block;
    color: var(--color-text-meta);
    font-size: var(--font-size-meta) !important;
    position: relative;
    z-index: 1;
    font-weight: 700;
}

html[lang|="en-US"] .archive .post-meta:before {
    content: "BY";
    margin-right: -19px;
}

html[lang|="fr-FR"] .archive .post-meta:before {
    content: "PAR";
    margin-right: -26px;
}

.et_pb_blog_grid .et_pb_post {
    border: none;
    padding: 2px;
    background-color: transparent;
    word-wrap: break-word;
}

/* --- Accordions --- */

.accordion-header { padding-bottom: 0; }

.accordion-toggle-left .et_pb_toggle_title:before {
    left: 0 !important;
}

.accordion-toggle-left .et_pb_toggle_title,
.accordion-toggle-left .et_pb_toggle_content {
    padding-left: 2em !important;
}

.divi-open-toggle-module .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
    display: block;
    color: var(--color-brand-green-alt);
}

.et_pb_toggle.et_pb_toggle_open {
    padding-bottom: 0 !important;
}

/* Easy Accordion — values section */
.values h3.ea-header {
    margin: 0 !important;
    padding: 0 !important;
}

.values h2                              { margin-bottom: 0 !important; }

/* Simplified: .values.sp-easy-accordion shares border-radius with general rule.
   Kept separate because it overrides to 7px (vs the 15px default). */
.values.sp-easy-accordion > .sp-ea-single { border-radius: 7px !important; }

.sp-easy-accordion .sp-ea-single .ea-header { margin-bottom: 0 !important; }

.sp-easy-accordion > .sp-ea-single {
    background: var(--color-accordion-bg);
    border-radius: var(--radius-lg) !important;
}

.sp-easy-accordion > .sp-ea-single ul,
.sp-easy-accordion > .sp-ea-single ol {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* --- Services section --- */

.services .et_pb_text_inner {
    min-height: 85px;
    margin-bottom: -0.5rem;
}

.services .services_extras .et_pb_text_inner {
    min-height: 50px;
    margin-bottom: -0.5rem;
}

.services p {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.1 !important;
    text-align: center;
}

.looking-for .et_pb_with_border {
    margin-top: 30px !important;
}

/* --- Team block --- */

.team-block { border-radius: 7px; }

.dipl_team_grid_container.layout4 .dipl_team_grid_item {
    border-radius: 15px !important;
    border-width: 5px !important;
    border-color: var(--color-brand-blue) !important;
}

/* --- SurveyJS --- */

.sv-logo                            { display: none; }
.sv-progress__text                  { display: none; }
.sv-question__required-text         { display: none; }
.sv-action--hidden                  { display: none; }
.sv-action                          { flex-grow: 1; }

.sv-container-modern__title {
    margin-inline: 0;
    padding-left: 0;
}

.sv-root-modern .sv-boolean--disabled .sv-boolean__switch {
    background-color: rgb(220, 220, 220);
}

#dtquestions .sv-root-modern .sv-boolean__switch {
    background-color: var(--color-border-light);
}

#dtquestions .sv-root-modern .sv-boolean--checked .sv-boolean__switch {
    background-color: var(--color-brand-orange);
}

#dtquestions .sv-root-modern .sv-description {
    color: rgba(64, 64, 64, 1);
}

.sv-btn.sv-action-bar-item,
.sv-btn {
    border-radius: var(--radius-sm);
}

button.sv-btn.sv-action-bar-item,
button.sv-btn {
    background-color: var(--color-border-light);
}

.sv-action-bar-item:not(.sv-action-bar-item--pressed):hover:enabled,
.sv-action-bar-item:not(.sv-action-bar-item--pressed):focus:enabled {
    background-color: orange !important;
}

.sv-root-modern input.sv-text,
textarea.sv-comment,
select.sv-dropdown {
    padding: 4px 8px;
}

.sv-root-modern .sv-progress {
    height: 0.5rem;
}

.sv-body__page,
.sv-body__footer.sv-footer.sv-action-bar {
    margin-top: 2em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sv-row {
    display: flex;
    flex-wrap: wrap;
    flex-basis: 100%;
}

.sv-item.sv-item--disabled .sv-item__control-label {
    color: var(--color-border-light);
}

.sv-checkbox--checked .sv-item__control-label,
.sv-radio--checked .sv-item__control-label,
.sv-question--answered .sv-item__control-label {
    color: var(--color-text-dark);
}

/* Simplified: replaced hardcoded #333 with --color-text-dark */

.wp-block-decisiontree-block > .block > .container,
.wp-block-decisiontree-block > .container,
.wp-block-decisiontree-surveyresult > .container,
.sv-question__content .container {
    width: 100%;
    padding: var(--spacing-card) 0 !important;
}

.sv-question__content figure {
    margin-bottom: var(--spacing-card);
}

#sp_129 .sv-row--pre_intro0,
#sp_129 div[data-row="pre_intro0"] {
    display: none !important;
}

/* Commented-out survey display overrides — preserved from original */
/*
[data-survey="12"] #sp_100 .sv-action-bar:first-of-type, ...
*/

/* --- Image picker --- */

.sv-imagepicker {
    display: flex;
    flex-wrap: wrap;
}

.sv-imagepicker__item {
    position: relative;
    display: flex;
    flex-basis: 96%;
    border: 1px solid var(--color-border-light);
    margin-bottom: 30px;
}

.sv-imagepicker__item:hover          { border-color: var(--color-brand-blue); }
.sv-imagepicker__item--checked       { border-color: var(--color-brand-green); }

.sv-imagepicker__text {
    font-size: 1.14em;
    padding: 0 15px;
    display: block;
    margin-block: 10px;
}

.sv-imagepicker__desc {
    padding: 10px 15px;
    font-size: 15px;
}

.sv-imagepicker__image {
    width: 340px;
    height: 240px;
    object-fit: cover !important;
    border: none;
}

.two_column_choices .sv-imagepicker__image {
    width: 100%;
    height: 300px;
}

.sv-imagepicker__item--checked::before {
    display: block;
    position: absolute;
    content: " ";
    top:    calc(1 * var(--base-unit, 8px));
    left:   calc(1 * var(--base-unit, 8px));
    width:  calc(6 * var(--base-unit, 8px));
    height: calc(6 * var(--base-unit, 8px));
    box-sizing: border-box;
    border-radius: calc(12.5 * var(--base-unit, 8px));
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2723%27 height=%2717%27 viewBox=%270 0 23 17%27 fill=%27none%27%3E%3Cpath d=%27M8.33331 16.1L0.333313 8L2.43331 5.9L8.33331 11.9L20.2333 0L22.3333 2.1L8.33331 16.1Z%27 fill=%27%2319B394%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px calc(2 * var(--base-unit, 8px));
    background-color: var(--color-white);
    z-index: 1;
}

/* --- Engineering table --- */

.engineering-table > thead > tr > th:first-child,
.engineering-table > tbody > tr > td:first-child {
    position: sticky;
    left: 0;
    background-color: var(--color-white);
}

.engineering-table > thead > tr > th:nth-child(2),
.engineering-table > tbody > tr > td:nth-child(2) {
    position: sticky;
    left: 130px;
}

.engineering-table > thead > tr > th:nth-child(2) {
    background-color: var(--color-white);
}

/* --- Entry content tables --- */

.entry-content thead th,
.entry-content tr th {
    padding: 9px 0;
    white-space: nowrap;
}

/* --- Survey result containers --- */

#surveyContainer,
#surveyEditContainer,
#surveyResult {
    padding-bottom: var(--spacing-section);
}

/* --- Results list --- */

.results-list {
    padding-block: 20px;
    margin-bottom: var(--spacing-card);
}

/* --- WooCommerce --- */

.woocommerce-NoticeGroup .woocommerce-error { margin-left: 0 !important; }
.woocommerce-field-error                    { font-weight: 400 !important; }
.woocommerce form .form-row.woocommerce-invalid label { color: red; }

.billing-sector-options input[type="checkbox"] {
    vertical-align: middle;
}

/* --- Adaptation library --- */
.adaptation-library-container .bg-blue {
    background-color: #dde9f5;
    padding:20px !important;
    margin-bottom:20px;
}
.et_pb_promo_description h1{
    font-size:36px !important;
}

.adaptation-library-container .btn-success {
    background-color: #6d6e70 !important;
    border-color: #6d6e70 #6d6e70 #6d6e70 !important;
}

.adaptation-library-container .btn-success:hover{
    background-color:#38383a !important;
}

.adaptation-library-container .keywords-list a{
    background-color: #248aca !important;
}
.adaptation-library-container .keywords-list a:hover{
    background-color:#116395 !important;
}

.adaptation-library-quick {
    margin: 20px 0;
}

.adaptation-library-quick .quick-form {
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 16px;
    margin-bottom: 16px;
}

.adaptation-library-quick .quick-row {
    display: block;
    margin-bottom: 16px;
}

.adaptation-library-quick .quick-row > label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.adaptation-library-quick .quick-row select {
    flex: 1 1 auto;
    min-height: 36px;
}

.adaptation-library-quick .quick-options { display: block; }

.adaptation-library-quick .quick-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    margin-bottom: 6px;
}

.adaptation-library-quick .quick-actions {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.adaptation-library-quick .quick-results-list {
    list-style: none;
    padding-left: 0;
}

.adaptation-library-quick .quick-result {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 14px;
    margin-bottom: 12px;
    background: var(--color-white);
}

.adaptation-library-quick .quick-result h4 { margin: 0 0 8px; }

.adaptation-library-quick .quick-meta {
    color: var(--color-text-muted);
    font-size: 13px;
    margin-bottom: 8px;
}

.adaptation-library-quick .quick-description {
    color: var(--color-text-dark);
    line-height: 1.5;
}

.adaptation-library-quick .quick-empty {
    color: var(--color-text-muted);
    font-style: italic;
}

.adaptation-library-quick .quick-actions .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: 1px solid #d0d7de;
    border-radius: var(--radius-md);
    background: var(--color-white);
    color: #24292f;
    text-decoration: none;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.adaptation-library-quick .quick-actions .button:hover { background: #f6f8fa; }

.adaptation-library-quick .quick-actions .button:focus {
    outline: 2px solid #238ACA22;
    outline-offset: 2px;
}

.adaptation-library-quick .quick-actions .button.button-primary {
    background: var(--color-brand-blue);
    color: var(--color-white);
    border-color: var(--color-brand-blue-dark);
}

.adaptation-library-quick .quick-actions .button.button-primary:hover {
    background: var(--color-brand-blue-dark);
}

/* Simplified: even/odd share padding & border-radius — could unify further,
   but kept separate to preserve explicit background control per parity. */
.adaptation-library-options-list li:nth-child(even) {
    background-color: var(--color-bg-row-even);
    padding: 15px;
    border-radius: 5px;
}

.adaptation-library-options-list li:nth-child(odd) {
    background-color: var(--color-white);
    padding: 15px;
    border-radius: 5px;
}

.adaptation-library-options-list li:hover {
    background-color: var(--color-bg-hover);
    transition: background 0.3s ease;
}

.adaptation-library-options-list p {
    padding-bottom: 0 !important;
    font-size: 0.8em;
    margin-bottom: 0 !important;
}

.adaptation-library-search {
    background-color: var(--color-bg-lighter);
}

/* --- Funding page (page-id-7052) --- */

.page-id-7052 .et_pb_column_1_3 h3,
.page-id-7052 .et_pb_column_1_4 h3,
.page-id-7052 .et_pb_column_1_5 h3,
.page-id-7052 .et_pb_column_1_6 h3,
.page-id-7052 .et_pb_column_2_5 h3 {
    font-size: 17px !important;
}

.page-id-7052 #programs-for-indigenous-applicants .et_pb_text.et_clickable,
.page-id-7052 #non-traditional-funding-programs .et_pb_text.et_clickable,
.page-id-7052 #community-foundations .et_pb_text.et_clickable,
.page-id-7052 #provincial-programs .et_pb_text.et_clickable,
.page-id-7052 #regional-programs .et_pb_text.et_clickable,
.page-id-7052 #national-programs .et_pb_text.et_clickable {
    height: 250px;
}



/* --- Question 6 hide rules (bilingual) --- */

[data-key="question6_1b0"] tr:nth-of-type(5) [data-responsive-title="Plan en place (ne traite pas des enjeux côtiers)"] label,
[data-key="question6_1b0"] tr:nth-of-type(5) [data-responsive-title="Plan in place (does not deal with coastal issues)"] label,
[data-key="question6_1b0"] tr:nth-of-type(5) [data-responsive-title="Plan en place (ne traite pas des enjeux côtiers)"]:after,
[data-key="question6_1b0"] tr:nth-of-type(5) [data-responsive-title="Plan in place (does not deal with coastal issues)"]:after {
    display: none !important;
}

[data-name="question6_1"] tr:nth-of-type(6) [data-responsive-title="Plan in place (does not deal with coastal issues)"] label,
[data-name="question6_1"] tr:nth-of-type(6) [data-responsive-title="Plan en place (ne traite pas des enjeux côtiers)"] label,
[data-name="question6_1"] tr:nth-of-type(6) [data-responsive-title="Plan in place (does not deal with coastal issues)"]:after,
[data-name="question6_1"] tr:nth-of-type(6) [data-responsive-title="Plan en place (ne traite pas des enjeux côtiers)"]:after {
    display: none !important;
}


/* ============================================================
   6. UTILITIES & HELPERS
   ============================================================ */

.maxwidth-100 {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.return-button { display: none; }

ol.lower-alpha {
    list-style: lower-alpha !important;
    padding: revert !important;
    margin-bottom: 16px !important;
}

ol.lower-alpha > li {
    list-style-type: lower-alpha !important;
}


/* ============================================================
   7. MEDIA QUERIES
   ============================================================ */

/* Newsletter field widths */
@media (min-width: 767px) {
    .et_pb_newsletter_fields .et_pb_newsletter_button_wrap {
        flex-basis: 150px !important;
    }
  
    .et_pb_newsletter_form .et_pb_newsletter_field {
        flex-basis: calc((100% - 180px) / 4) !important;
    }
}

/* Image picker breakpoints */
@media (min-width: 768px) {
    .sv-imagepicker__item { flex-basis: 46%; }
}

@media (min-width: 1200px) {
    .sv-imagepicker__item                      { flex-basis: 29%; }
    .two_column_choices .sv-imagepicker__item  { flex-basis: 46%; }
}

/* Navigation breakpoints */
@media (max-width: 1024px) {
    #et_mobile_nav_menu { display: block; }
    #top-menu           { display: none; }
}

@media (max-width: 1200px) {
    #top-menu li,
    #top-menu li a {
        font-size: 14px;
        padding-right: 15px;
    }
}

/* Sidebar breakpoint */
@media (min-width: 981px) {
    .et_right_sidebar #left-area {
        padding-right: unset;
        width: 100%;
    }
}

/* SurveyJS body margins */
@media only screen and (min-width: 1000px) {
    .sv-body__timer,
    .sv-body__page,
    .sv-body__footer.sv-footer.sv-action-bar {
        margin-inline: 0;
    }
}

/* Header mobile */
@media (max-width: 767px) {
    .et_pb_section_0_tb_header .et_pb_text             { font-size: 10px; }
    .et_pb_section_0_tb_header .et_pb_row              { gap: 6px; }
    .et_pb_section_0_tb_header .et_pb_column_1_tb_header { flex-shrink: 0; }
    .et_pb_section_0_tb_header .et_pb_column_0_tb_header { min-width: 0; }
}

/* Mobile menus */
@media screen and (max-width: 767px) {
    ul#mobile_menu3                              { top: 170px; }
    .custom-header .et_pb_menu .et_mobile_menu   { top: 90px !important; }
}

@media screen and (max-width: 980px) {
    .no-hamburger .et_mobile_nav_menu            { display: none !important; }
    .no-hamburger .et_pb_menu__menu              { display: block !important; }
    .no-hamburger .et_pb_menu__menu ul {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
    }
    .mobile_header .no-hamburger .et_pb_menu .et_pb_menu__wrap {
        justify-content: space-evenly !important;
    }
    .et-tb #page-container,
    .et-tb-has-header #page-container {
        padding-top: 90px !important;
    }
}

/* Post slider breakpoints */
@media (max-width: 980px) {
    .post-slider .et_pb_post {
        flex: 0 0 calc(50% - 16px);
        min-width: calc(50% - 16px);
    }
}

@media (max-width: 767px) {
    .post-slider .et_pb_post .entry-featured-image-url {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }
    .post-slider .et_pb_post .entry-featured-image-url img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .post-slider .et_pb_image_container { aspect-ratio: auto; }
}

/* Table mobile */
@media (max-width: 767px) {
    .entry-content thead th,
    .entry-content tr th { font-size: 11px; }
    .entry-content tr td { padding: 6px 0; }
}
