/* Page layout is full width; each exported .container owns its constraint. */
.cfro-page-pilot{width:100%;max-width:none;margin:0;padding:0}
.cfro-page-content{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.5;color:#202020;width:100%;max-width:none}
.cfro-page-content .wp-block-group{box-sizing:border-box}
.cfro-page-content .wp-block-image{margin:0}
.cfro-page-content .wp-block-group.row{display:flex;flex-wrap:wrap;gap:0}
/* Preserve source column gutters; group layout adds no replacement padding. */
.cfro-page-content .row>[class*="col-"]{min-width:0}
.cfro-page-content .page-content{max-width:none}

/* Dynamic cards retain the source card hierarchy; only the slider engine changes. */
.cfro-page-content .cfro-page-articles__grid{padding-top:12px;padding-bottom:12px;align-items:stretch}
.cfro-page-content .cfro-page-articles__grid>.cfro-native-slider-slide{flex:0 0 33.333333%;max-width:33.333333%;display:flex}
.cfro-page-content .cfro-page-articles .slide-content-wrap{width:100%}
.cfro-page-content .cfro-page-articles .article-video{display:block;height:100%;color:inherit;text-decoration:none;background-color:#fff!important}
.cfro-page-content.cfro-import-content:has(>.cfro-page-articles){background-color:transparent}
.cfro-page-content .cfro-page-articles .card-article-inner{text-align:center}
.cfro-page-content .cfro-page-articles .card-article-inner>img{width:100%;aspect-ratio:353/152;object-fit:cover}
.cfro-page-content .cfro-page-articles .card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
@media(max-width:991px){.cfro-page-content .cfro-page-articles__grid>.cfro-native-slider-slide{flex-basis:50%;max-width:50%}}
@media(max-width:575px){.cfro-page-content .cfro-page-articles__grid>.cfro-native-slider-slide{flex-basis:100%;max-width:100%}}

/* Shared brochure/resource card treatment, independent of page IDs. */
.cfro-page-content .section-reports .col-md-4{background-color:#ffffff}
.cfro-page-content .section-reports .media-img-container .w-fit-content{margin-left:auto;margin-right:auto}
.cfro-page-content .section-reports .wp-block-image{text-align:center}
.cfro-page-content .section-reports .wp-block-image img{margin-left:auto;margin-right:auto}
.cfro-page-content .section-reports .cfro-native-button>.wp-block-button__link{background-color:transparent!important}
/* One shared banner; optional content creates no empty rows. */
.cfro-page-banner.cfro-page-content{position:relative;isolation:isolate;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#007860;color:#fff;text-align:left;width:100%;padding:48px 0;box-sizing:border-box}
.cfro-page-banner__picture,.cfro-page-banner__picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cfro-page-banner::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:-1}
/* Only the standalone heading banner keeps its dark veil. */
.cfro-banner-slider .cfro-page-banner::after{content:none}
.cfro-page-content .wp-block-cover .wp-block-cover__background{opacity:0!important}
.cfro-page-banner__content{position:relative;width:100%;padding-left:15px;padding-right:15px;margin:0 auto;flex:0 0 auto;max-width:none;box-sizing:border-box}
.cfro-page-banner__content :is(h1,h2){font-family:Montserrat,Arial,sans-serif;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.2;text-shadow:0 5px 10px rgba(0,0,0,.4);color:#fff;margin:0;text-align:left}
.cfro-page-banner__content p{font-size:clamp(18px,2vw,24px);line-height:1.5;margin:20px 0 0;color:#FFC746!important;font-weight:700}
.cfro-page-content .cfro-page-banner__content>.cfro-page-banner__button{display:inline-block;margin:20px 0 0;padding:0.68rem 2.875rem 0.68rem 1.8125rem;color:#007860!important;font-family:Montserrat,sans-serif!important;font-size:1rem;font-weight:700;line-height:1.6;height:auto;text-transform:none;letter-spacing:0.05rem;border-radius:0;border:1px solid #ffffff;background-color:#ffffff!important;background-image:url("data:image/svg+xml,%3Csvg width='9' height='13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 1.533L5.565 6.5 0 11.467 1.717 13 9 6.5 1.717 0 0 1.533z' fill='%23007860'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px bottom 17px;filter:drop-shadow(0px 5px 10px rgba(0,0,0,.25));transition:box-shadow .3s ease-in-out;text-decoration:none}
.cfro-page-banner__content>:first-child:not(.cfro-page-banner__button){margin-top:0}

/* Export positioning assumed the old DOM; keep contact text in normal flow. */
.cfro-page-content .footer-broker-insurance .container > .row:first-child .footer-broker-logo img{height:auto!important;max-width:100%}
.cfro-page-content .footer-broker-insurance .container > .row:first-child .footer-broker-logo{height:auto}
.cfro-page-content .module-contact-us.row-wrapper .container > .row-spacing .col-md-3.logo img{height:auto!important;max-width:100%}
.cfro-page-content .module-contact-us.row-wrapper .container > .row-spacing .col-md-3.address p:first-of-type,
.cfro-page-content .footer-broker-insurance .footer-broker-location .row .col-12 p:first-of-type{position:static;inset:auto;transform:none}

.cfro-page-banner.cfro-page-banner--compact{min-height:300px}
.cfro-page-banner.cfro-page-banner--tall{min-height:450px}
@media(min-width:576px){.cfro-page-banner.cfro-page-banner--tall{min-height:600px}}
.cfro-page-content .section-reports .cfro-native-button>.wp-block-button__link{color:#007860!important;filter:none;margin-top:0!important;font-weight:700;background-image:url("data:image/svg+xml,%3Csvg width='9' height='13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 1.533L5.565 6.5 0 11.467 1.717 13 9 6.5 1.717 0 0 1.533z' fill='%23007860'/%3E%3C/svg%3E");background-size:9px 13px}
.cfro-page-content .section-reports .cfro-native-button>.wp-block-button__link span{color:inherit!important}

.cfro-page-banner__button:hover{box-shadow:0 0 0 2px #fff;filter:none}
.cfro-page-banner__button:active,.cfro-page-banner__button:focus{color:#007860!important;border-color:#fff!important;background-color:#fff!important;box-shadow:0 0 0 2px #fff!important}


/* Inner content follows the site container; the picture remains full width. */
@media(min-width:576px){.cfro-page-banner__content{max-width:540px}}
@media(min-width:768px){.cfro-page-banner__content{max-width:720px}}
@media(min-width:992px){.cfro-page-banner__content{max-width:960px}}
@media(min-width:1200px){.cfro-page-banner__content{max-width:1140px}}

.cfro-page-content .cfro-testimonials .testimonial-card{margin:0 auto;text-align:center}
/* Banner gutters are local: normal Bootstrap rows keep their original gutters. */
.cfro-page-content .cfro-banner-row{margin-left:0!important;margin-right:0!important;width:100%;max-width:100%}
.cfro-page-content .cfro-banner-column{padding-left:0!important;padding-right:0!important;width:100%;max-width:100%}
.cfro-page-content #slider-course-testimonials{margin-top:20px}
.cfro-page-content .cfro-form-container{width:100%;margin-left:auto;margin-right:auto}
.cfro-page-content .wpforms-container{--wpforms-button-background-color:#29B36F;--wpforms-field-border-color-spare:#29B36F;--wpforms-button-text-color:#fff}
.cfro-page-content .wpforms-container button[type=submit]{background:#29B36F!important;border-color:#29B36F!important;color:#fff!important}
.cfro-page-content .wpforms-container input:focus,.cfro-page-content .wpforms-container textarea:focus,.cfro-page-content .wpforms-container select:focus{border-color:#29B36F!important;box-shadow:0 0 0 1px #29B36F!important;outline-color:#29B36F}
.cfro-page-content .wpforms-container button:focus-visible{outline:2px solid #29B36F;outline-offset:3px}
.cfro-banner-slide-link{position:absolute;inset:0;z-index:2}
.cfro-banner-slider,.cfro-video-slider{min-width:0;max-width:100%}
.cfro-banner-slider .cfro-page-banner__content{box-sizing:border-box}
/* Explicit component scope beats exported generic article/heading rules. */
.cfro-page-content .cfro-featured-row{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;margin:0;width:100%;border-bottom:1px solid #e4e4e4}
.cfro-page-content .cfro-featured-row>.col-md-6{box-sizing:border-box;flex:0 0 50%;width:50%;max-width:50%;min-width:0}
.cfro-page-content .cfro-featured-row .cfro-featured-details{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 40px 35px;min-height:490px}
.cfro-page-content .cfro-featured-details h2{font-family:Montserrat,Arial,sans-serif;font-size:25px!important;line-height:1.3;font-weight:600;margin:0 0 30px;padding:0}
.cfro-page-content .cfro-featured-details h2 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;color:#202020!important;font-weight:600;text-decoration:none}
.cfro-page-content .cfro-featured-details .cfro-featured-description{display:block;color:#000;font-size:16px;line-height:1.5;margin:0 0 30px;font-weight:400}
.cfro-page-content .cfro-featured-row .cfro-featured-picture{display:block;position:relative;padding:0;overflow:hidden}
.cfro-page-content .cfro-featured-picture .cfro-featured-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;margin:0}
.cfro-page-content .cfro-featured-details .cfro-featured-more{display:inline-flex;align-items:center;gap:20px;margin-top:auto;padding:2px;color:#007860!important;font-size:16px;font-weight:700;letter-spacing:.05em;text-decoration:none;background:transparent!important}
.cfro-page-content .cfro-featured-more .fa{font-family:FontAwesome;font-size:14px;font-style:normal}
@media(max-width:991px){.cfro-page-content .cfro-featured-row .cfro-featured-details{padding:35px 30px}.cfro-page-content .cfro-featured-details h2{font-size:20px!important}}
/* Mobile: image, overlapping share bar, then title/description/action. */
@media(max-width:767px){
 .cfro-page-content .cfro-featured-row>.col-md-6{flex-basis:100%;width:100%;max-width:100%}
 .cfro-page-content .cfro-featured-row .cfro-featured-picture{order:0;height:350px}
 .cfro-page-content .cfro-featured-picture .cfro-featured-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
 .cfro-page-content .cfro-featured-row .cfro-card-share{position:relative;left:auto;top:auto;transform:none;order:1;display:flex!important;flex-direction:row;align-items:center;justify-content:center;flex:0 0 auto;width:auto;max-width:100%;gap:9px;margin:-27px auto 0;padding:9px;background:#fff;border-radius:50px;z-index:2}
 .cfro-page-content .cfro-featured-row .cfro-featured-details{order:2;min-height:0;padding:30px 24px 35px}
 .cfro-page-content .cfro-featured-details h2{font-size:20px!important;line-height:1.3;margin:0 0 24px}
 .cfro-page-content .cfro-featured-details h2 a{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
 .cfro-page-content .cfro-featured-details .cfro-featured-description{margin:0 0 30px}
 .cfro-page-content .cfro-featured-details .cfro-featured-more{margin-top:10px}
}
