:root{
  --cabeco-blue:#2ca6df;
  --cabeco-deep-blue:#006c87;
  --cabeco-red:#cb1734;
  --cabeco-dark:#222;
  --cabeco-muted:#666;
  --cabeco-light:#e0e0e0;
  --cabeco-container:1080px;
  --cabeco-header-height:116px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:#444;background:#fff;font-size:15px;line-height:1.55}
a{color:inherit;text-decoration:none}
a:hover{color:var(--cabeco-blue)}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cabeco-container{width:min(100% - 40px,var(--cabeco-container));margin-inline:auto}
.cabeco-main{min-height:280px;background:#fff}
.cabeco-header-spacer{height:var(--cabeco-header-height)}
.admin-bar .cabeco-site-header{top:32px}
.cabeco-site-header{position:fixed;top:0;left:0;right:0;z-index:9999;transition:transform .3s ease,box-shadow .3s ease}
.cabeco-site-header.is-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.cabeco-topbar{height:30px;background:var(--cabeco-blue);color:#fff;font-size:12px;transition:height .28s ease,opacity .28s ease}
.cabeco-topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cabeco-topbar-left{display:flex;gap:18px}
.cabeco-topbar a:hover{color:#fff;opacity:.8}
.cabeco-main-header{height:86px;background:#fff;transition:height .28s ease}
.cabeco-header-inner{height:100%;display:flex;align-items:center;position:relative}
.cabeco-logo-link{display:flex;align-items:center;flex:0 0 auto;margin-right:auto}
.cabeco-logo{width:78px;max-height:72px;object-fit:contain;transition:width .28s ease,max-height .28s ease}
.cabeco-navigation{display:flex;align-items:center;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.cabeco-menu,.cabeco-menu ul{list-style:none;margin:0;padding:0}
.cabeco-menu{display:flex;align-items:center;gap:31px}
.cabeco-menu li{position:relative}
.cabeco-menu a{display:flex;align-items:center;padding:15px 0;font-size:14px;color:#444;white-space:nowrap}
.cabeco-menu .menu-item-has-children>a:after{content:"⌄";font-size:12px;margin-left:7px}
.cabeco-menu .sub-menu{position:absolute;top:100%;left:-18px;width:220px;padding:12px 18px;background:#fff;border-top:3px solid var(--cabeco-blue);box-shadow:0 8px 22px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}
.cabeco-menu .sub-menu a{padding:8px 0}
.cabeco-menu li:hover>.sub-menu,.cabeco-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.cabeco-search-toggle,.cabeco-menu-toggle{border:0;background:transparent;cursor:pointer;color:#555;padding:12px;margin-left:14px}
.cabeco-search-icon{display:block;width:17px;height:17px;border:1.8px solid currentColor;border-radius:50%;position:relative}
.cabeco-search-icon:after{content:"";position:absolute;width:7px;height:2px;background:currentColor;right:-6px;bottom:-3px;transform:rotate(-45deg)}
.cabeco-search-panel{position:absolute;right:48px;left:190px;opacity:0;visibility:hidden;transform:translateX(25px);transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
.cabeco-search-form input{width:100%;border:0;border-bottom:1px solid #ddd;padding:13px 36px 13px 4px;outline:none;color:#333;background:transparent}
.cabeco-site-header.is-search-open .cabeco-navigation{opacity:0;visibility:hidden;transform:translateX(-22px);pointer-events:none}
.cabeco-site-header.is-search-open .cabeco-search-panel{opacity:1;visibility:visible;transform:none}
.cabeco-site-header.is-search-open .cabeco-search-icon{border:0;border-radius:0}
.cabeco-site-header.is-search-open .cabeco-search-icon:before,.cabeco-site-header.is-search-open .cabeco-search-icon:after{content:"";position:absolute;width:20px;height:1.8px;background:#555;left:-2px;top:8px;right:auto;bottom:auto}
.cabeco-site-header.is-search-open .cabeco-search-icon:before{transform:rotate(45deg)}
.cabeco-site-header.is-search-open .cabeco-search-icon:after{transform:rotate(-45deg)}
.cabeco-menu-toggle{display:none;width:42px}
.cabeco-menu-toggle span{display:block;height:2px;background:#159ee0;margin:5px 0;transition:.25s}
.cabeco-site-header.is-scrolled .cabeco-topbar{height:0;opacity:0;overflow:hidden}
.cabeco-site-header.is-scrolled .cabeco-main-header{height:62px}
.cabeco-site-header.is-scrolled .cabeco-logo{width:54px;max-height:48px}
.cabeco-site-header .elementor{height:100%}

/* Generic Elementor sections */
.cabeco-hero-title{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;position:relative}
.cabeco-hero-title:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.48)}
.cabeco-hero-title>*{position:relative;z-index:1}
.cabeco-hero-title h1,.cabeco-hero-title h2{font-size:31px;font-weight:400;text-transform:uppercase;margin:0;color:#fff}
.cabeco-section{padding:58px 0}
.cabeco-section-title{background:#e5e5e5;padding:50px 0}
.cabeco-section-title h2{margin:0;font-size:29px;font-weight:400;text-transform:uppercase;color:#444}
.cabeco-button,.elementor-button{display:inline-flex;align-items:center;justify-content:center;background:var(--cabeco-deep-blue);color:#fff!important;border:0;border-radius:0;padding:11px 22px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.7px}
.cabeco-button:hover,.elementor-button:hover{background:var(--cabeco-red)}

/* Home */
.cabeco-slider{position:relative;overflow:hidden;background:#ddd}
.cabeco-slide{min-height:430px;background-size:cover;background-position:center;display:none;align-items:center;justify-content:center;text-align:center;padding:80px 20px;color:#fff}
.cabeco-slide.is-active{display:flex;animation:cabecoFade .6s ease}
.cabeco-slide:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.cabeco-slide-content{position:relative;z-index:2;max-width:1100px}
.cabeco-slide h2{font-size:44px;line-height:1.18;text-transform:uppercase;color:#fff;margin:0;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.cabeco-slider-prev,.cabeco-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;background:rgba(0,0,0,.2);color:#fff;width:44px;height:58px;cursor:pointer;font-size:26px}
.cabeco-slider-prev{left:12px}.cabeco-slider-next{right:12px}
@keyframes cabecoFade{from{opacity:.25}to{opacity:1}}
.cabeco-home-intro{padding:62px 0 70px}
.cabeco-home-intro .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:14px}
.cabeco-home-intro h2,.cabeco-home-intro h3{font-weight:400;line-height:1.05}
.cabeco-anniversary{border:8px solid #c9c9c9;padding:18px 22px;min-height:210px}
.cabeco-anniversary h2{font-size:38px!important;color:var(--cabeco-red)!important;font-weight:700!important;text-transform:uppercase;margin:0 0 6px}
.cabeco-anniversary h3{font-size:20px!important;color:var(--cabeco-red)!important;text-transform:uppercase;font-weight:700!important;margin:0 0 15px}
.cabeco-company-home{padding:70px 0 90px}
.cabeco-company-home .elementor-widget-image img{width:100%}
.cabeco-photo-caption{font-size:11px;text-align:right;margin-top:-6px;color:#777}
.cabeco-company-home h3{font-size:24px;font-weight:400;margin:22px 0 12px}
.cabeco-clients{padding:65px 0 75px;text-align:center}
.cabeco-clients h2{font-size:28px;font-weight:400;text-transform:uppercase;margin:0 0 38px}
.cabeco-logo-grid{display:flex;align-items:center;justify-content:center;gap:27px;flex-wrap:wrap}
.cabeco-logo-grid img{width:auto;max-width:135px;max-height:55px;object-fit:contain;filter:grayscale(1)}

/* Inner content */
.cabeco-inner-content{padding:65px 0 90px}
.cabeco-inner-content h2{font-weight:400;font-size:27px;line-height:1.1}
.cabeco-company-grid .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:18px}
.cabeco-quality-copy{font-style:italic;font-weight:600}
.cabeco-quality-copy p{margin-bottom:17px}
.cabeco-client-page{padding:65px 0}

/* Product landing */
.cabeco-product-landing{padding:60px 0 110px}
.cabeco-product-layout{display:grid;grid-template-columns:185px minmax(0,1fr) 260px;gap:45px;align-items:start}
.cabeco-product-tabs{display:flex;flex-direction:column;gap:8px}
.cabeco-product-tabs a{background:#aaa;color:#fff;text-transform:uppercase;font-weight:700;font-size:11px;text-align:center;padding:12px 9px}
.cabeco-product-tabs a.is-active,.cabeco-product-tabs a:hover{background:var(--cabeco-deep-blue);color:#fff}
.cabeco-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 20px}
.cabeco-product-card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f7f7f7}
.cabeco-product-card h3{font-size:14px;line-height:1.2;font-weight:400;margin:8px 0 0;color:#555}
.cabeco-product-copy{font-size:13px;line-height:1.38}
.cabeco-product-copy h2{font-size:23px;font-weight:400}

/* Blog */
.cabeco-posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:65px 0 90px}
.cabeco-post-card{border:1px solid #ddd;background:#fff}
.cabeco-post-card img{width:100%;aspect-ratio:1.35/1;object-fit:cover}
.cabeco-post-card-body{padding:16px}
.cabeco-post-card h3{font-weight:400;font-size:20px;line-height:1.2;margin:0 0 10px}
.cabeco-post-meta{font-size:12px;color:#777;margin-bottom:10px}

/* Contact */
.cabeco-contact-wrap{padding:55px 0 0}
.cabeco-contact-grid{display:grid;grid-template-columns:1.6fr .65fr .65fr;gap:38px;align-items:start}
.cabeco-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cabeco-contact-fields .full{grid-column:1/-1}
.cabeco-contact-form input,.cabeco-contact-form textarea{width:100%;border:0;background:#eee;padding:15px;color:#555;outline:0}
.cabeco-contact-form textarea{min-height:150px;resize:vertical}
.cabeco-contact-submit-row{display:flex;justify-content:flex-end;margin-top:15px}
.cabeco-contact-info-icon{width:52px;height:52px;border-radius:50%;background:#79c7d0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 18px}
.cabeco-contact-map iframe{width:100%;height:360px;border:0;display:block;margin-top:45px;filter:saturate(.65)}
.cabeco-form-message{padding:12px 15px;margin-bottom:15px;background:#e9f8ed;border-left:4px solid #45a95f}

/* Footer */
.cabeco-footer-main{background:#242424;color:#fff;padding:55px 0 40px}
.cabeco-footer-grid{display:grid;grid-template-columns:1.25fr .9fr 1fr 1fr;gap:58px}
.cabeco-footer-grid h4{font-size:18px;font-weight:400;margin:0 0 15px;color:#fff}
.cabeco-footer-grid h4:not(:first-child){margin-top:34px}
.cabeco-footer-grid strong{display:block;font-size:13px;margin-bottom:5px}
.cabeco-footer-grid p,.cabeco-footer-grid li{font-size:12px;line-height:1.65;color:#eee;margin:0 0 8px}
.cabeco-footer-grid ul{list-style:none;margin:0;padding:0}
.cabeco-footer-grid li:before{content:"›";margin-right:9px;color:#fff}
.cabeco-footer-grid a{color:#777}.cabeco-footer-grid a:hover{color:#fff}
.cabeco-footer-bottom{background:#171717;color:#666;font-size:12px;padding:17px 0}
.cabeco-footer-bottom .cabeco-container{display:flex;align-items:center;justify-content:space-between}
.cabeco-social{font-size:22px;color:#777}

/* Generic WP/WooCommerce */
.cabeco-content-loop,.cabeco-single-wrap,.cabeco-woocommerce{padding:65px 0 90px}
.cabeco-card{margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid #ddd}
.entry-title{font-weight:400}.entry-content{max-width:820px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:400;font-size:16px}
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important}

@media(max-width:1024px){
  .cabeco-menu{gap:20px}
  .cabeco-slide h2{font-size:34px}
  .cabeco-product-layout{grid-template-columns:160px 1fr}.cabeco-product-copy{grid-column:2}.cabeco-footer-grid{gap:30px}
}
@media(max-width:782px){
  .admin-bar .cabeco-site-header{top:46px}
  :root{--cabeco-header-height:72px}
  .cabeco-header-spacer{height:72px}
  .cabeco-topbar{display:none}
  .cabeco-main-header,.cabeco-site-header.is-scrolled .cabeco-main-header{height:72px}
  .cabeco-logo,.cabeco-site-header.is-scrolled .cabeco-logo{width:48px;max-height:48px}
  .cabeco-menu-toggle{display:block}
  .cabeco-search-toggle{margin-left:auto}
  .cabeco-navigation{position:absolute;left:-20px;right:-20px;top:72px;background:#fff;padding:18px 25px;box-shadow:0 12px 20px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(-10px);display:block}
  .cabeco-site-header.is-menu-open .cabeco-navigation{opacity:1;visibility:visible;transform:none}
  .cabeco-menu{display:block}.cabeco-menu a{padding:10px 0}.cabeco-menu .sub-menu{position:static;width:auto;padding:0 0 0 18px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}.cabeco-menu li.is-submenu-open>.sub-menu{display:block}
  .cabeco-search-panel{left:75px;right:88px}
  .cabeco-slide{min-height:300px;padding:50px 42px}.cabeco-slide h2{font-size:20px}
  .cabeco-section-title{padding:35px 0}.cabeco-section-title h2{font-size:24px}
  .cabeco-home-intro,.cabeco-company-home,.cabeco-clients,.cabeco-inner-content{padding:40px 0}
  .cabeco-anniversary{min-height:0}
  .cabeco-product-layout{display:block}.cabeco-product-tabs{margin-bottom:30px}.cabeco-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:35px}.cabeco-product-copy{font-size:14px}
  .cabeco-posts-grid{grid-template-columns:1fr;padding:40px 0}
  .cabeco-contact-grid{grid-template-columns:1fr}.cabeco-contact-fields{grid-template-columns:1fr}.cabeco-contact-fields .full{grid-column:auto}
  .cabeco-footer-grid{grid-template-columns:1fr 1fr;gap:35px 18px}.cabeco-footer-main{padding:42px 0}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce div.product{grid-template-columns:1fr}
}
@media(max-width:480px){
  .cabeco-container{width:min(100% - 38px,var(--cabeco-container))}
  .cabeco-slide{min-height:255px}.cabeco-slider-prev,.cabeco-slider-next{width:30px;height:46px;font-size:18px}
  .cabeco-product-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.cabeco-product-card h3{font-size:12px}
  .cabeco-footer-grid{grid-template-columns:1fr 1fr;gap:30px 10px}.cabeco-footer-grid h4{font-size:16px}.cabeco-footer-grid p,.cabeco-footer-grid li,.cabeco-footer-grid strong{font-size:10px}.cabeco-footer-bottom .cabeco-container{flex-direction:column;gap:10px}
}
/* Reset Elementor wrappers around global templates. */
.cabeco-site-header>.elementor,.cabeco-site-footer>.elementor{width:100%}
.cabeco-site-header .elementor-section,.cabeco-site-header .elementor-container,.cabeco-site-header .elementor-column,.cabeco-site-header .elementor-widget-wrap,
.cabeco-site-footer .elementor-section,.cabeco-site-footer .elementor-container,.cabeco-site-footer .elementor-column,.cabeco-site-footer .elementor-widget-wrap{width:100%;max-width:none!important;margin:0!important;padding:0!important}
.cabeco-site-header .elementor-widget,.cabeco-site-footer .elementor-widget{margin:0!important}

/* ==========================================================================\n   Cabeco visual parity pass — v1.1.0\n   These rules intentionally override Elementor global colours/spacing so the\n   generated pages match the supplied Divi reference on first render.\n   ========================================================================== */
:root{
  --cabeco-container:1080px;
  --cabeco-blue:#2ea3f2;
  --cabeco-deep-blue:#006c87;
  --cabeco-red:#cb1734;
  --cabeco-text:#555;
}
body{font-size:14px;line-height:1.45;color:var(--cabeco-text);}
.cabeco-main .elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--cabeco-container)!important;}
.cabeco-main .elementor-widget-text-editor{color:var(--cabeco-text);}
.cabeco-main .elementor-widget-text-editor p:last-child{margin-bottom:0;}

/* Header: boxed overlay on home, full-width on internal pages. */
.cabeco-main-header{height:116px;}
.cabeco-logo{width:100px;max-height:94px;}
.cabeco-header-spacer{height:146px;}
.cabeco-menu a{font-size:14px;font-weight:400;}
.cabeco-menu{gap:34px;}
.cabeco-is-home .cabeco-header-spacer{height:30px;}
.cabeco-is-home .cabeco-main-header{background:transparent;}
.cabeco-is-home .cabeco-header-inner{max-width:1080px;background:#fff;padding:0 30px;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.cabeco-is-home .cabeco-site-header.is-scrolled .cabeco-main-header{background:#fff;}
.cabeco-is-home .cabeco-site-header.is-scrolled .cabeco-header-inner{max-width:1080px;box-shadow:none;}
.cabeco-site-header.is-scrolled .cabeco-main-header{height:64px;}
.cabeco-site-header.is-scrolled .cabeco-logo{width:55px;max-height:52px;}
.cabeco-site-header.is-scrolled+.cabeco-header-spacer{height:146px;}
.cabeco-search-panel{left:170px;right:55px;}
.cabeco-search-form input{font-size:13px;}

/* Home hero. */
.cabeco-slider{height:520px;}
.cabeco-slide{height:520px;min-height:0;position:relative;background-position:center center;padding:95px 20px 45px;}
.cabeco-slide h2{font-size:46px;line-height:1.2;font-weight:700;letter-spacing:.2px;}
.cabeco-slider-prev,.cabeco-slider-next{opacity:0;transition:opacity .2s ease,background .2s ease;}
.cabeco-slider:hover .cabeco-slider-prev,.cabeco-slider:hover .cabeco-slider-next{opacity:1;}

/* Home intro — exact three-column proportions and Divi colours. */
.cabeco-home-intro{padding:78px 0 82px!important;}
.cabeco-home-intro>.elementor-container{align-items:flex-start;}
.cabeco-home-intro .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0 15px!important;}
.cabeco-home-intro .elementor-widget-image img{width:266px;max-width:100%;margin:0 auto;}
.cabeco-home-intro .elementor-heading-title{color:#444!important;font-size:24px!important;line-height:1.05!important;font-weight:400!important;text-transform:none!important;margin:0!important;}
.cabeco-home-intro .elementor-widget-text-editor{font-size:14px;line-height:1.45;}
.cabeco-home-intro .elementor-widget-button{text-align:center;margin-top:15px;}
.cabeco-home-intro .elementor-button{background:#006c87!important;border-radius:0!important;padding:11px 24px!important;font-size:12px!important;font-weight:700!important;letter-spacing:.8px!important;}
.cabeco-home-intro .elementor-button:hover{background:#cb1734!important;}
.cabeco-anniversary{border:8px solid #c4c4c4;padding:18px 20px;min-height:286px;max-width:270px;margin:0 auto;background:#fff;}
.cabeco-anniversary h2{font-size:40px!important;line-height:.92!important;margin:0 0 10px!important;}
.cabeco-anniversary h3{font-size:18px!important;line-height:1.12!important;margin:0 0 15px!important;}
.cabeco-anniversary p{font-size:14px;line-height:1.45;margin:0;}

/* Home section band. */
.cabeco-section-title{background:#e0e0e0!important;padding:54px 0!important;}
.cabeco-section-title .elementor-heading-title{color:#444!important;font-size:32px!important;line-height:1.2!important;font-weight:400!important;text-transform:uppercase!important;text-align:left!important;margin:0!important;}

/* Home company block. */
.cabeco-company-home{padding:78px 0 95px!important;}
.cabeco-company-home .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0 28px!important;}
.cabeco-company-home .elementor-widget-image img{width:100%;}
.cabeco-company-home .elementor-widget-text-editor{font-size:18px;line-height:1.42;}
.cabeco-company-home .elementor-heading-title{color:#444!important;font-weight:400!important;}
.cabeco-company-home h3.elementor-heading-title{font-size:28px!important;line-height:1.1!important;margin:0!important;}
.cabeco-company-home .elementor-column:first-child .elementor-widget-heading{margin-top:24px;}
.cabeco-company-home .elementor-column:last-child .elementor-widget-text-editor:first-child{font-size:18px;}
.cabeco-company-home .elementor-column:last-child .elementor-widget-image{margin-top:22px;}
.cabeco-company-home .elementor-button{background:#cb1734!important;border-radius:0!important;padding:10px 20px!important;font-size:12px!important;font-weight:700!important;letter-spacing:.8px!important;}
.cabeco-company-home .elementor-button:hover{background:#006c87!important;}
.cabeco-photo-caption{font-size:11px!important;line-height:1.2!important;margin:-15px 0 0!important;text-align:right!important;position:relative;z-index:2;}

/* Clients row. */
.cabeco-clients{padding:72px 0 86px!important;text-align:center;}
.cabeco-clients h2{color:#444!important;font-size:32px!important;line-height:1.2!important;font-weight:400!important;margin:0 0 38px!important;}
.cabeco-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px;align-items:center;}
.cabeco-logo-grid img{max-width:100%;width:auto;max-height:62px;margin:auto;filter:grayscale(1);}

/* Internal page parity. */
.cabeco-hero-title{min-height:250px!important;}
.cabeco-hero-title .elementor-heading-title{font-size:31px!important;font-weight:400!important;color:#fff!important;}
.cabeco-inner-content{padding:72px 0 92px!important;}
.cabeco-company-grid>.elementor-container{align-items:flex-start;}
.cabeco-company-grid .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0 28px!important;}
.cabeco-company-grid .elementor-heading-title{color:#444!important;font-weight:400!important;}
.cabeco-company-grid .elementor-widget-text-editor{font-size:15px;line-height:1.52;}
.cabeco-quality-copy{font-style:italic;font-weight:600;font-size:14px;}
.cabeco-client-page{padding:72px 0 96px!important;}

/* Product and news pages. */
.cabeco-product-landing{padding:70px 0 120px;}
.cabeco-product-layout{grid-template-columns:185px minmax(0,1fr) 265px;gap:48px;}
.cabeco-product-tabs a{padding:13px 10px;}
.cabeco-product-card h3{font-size:15px;}
.cabeco-product-copy{font-size:14px;line-height:1.46;}
.cabeco-posts-grid{padding:78px 0 100px;gap:40px;}

/* Contact. */
.cabeco-contact-wrap{padding:70px 0 0;}
.cabeco-contact-grid{gap:50px;}
.cabeco-contact-map iframe{height:410px;}

/* Footer — compact, dark and aligned like the reference. */
.cabeco-footer-main{padding:58px 0 48px;background:#232323;}
.cabeco-footer-grid{grid-template-columns:1.2fr .82fr 1fr 1fr;gap:64px;}
.cabeco-footer-grid h4{font-size:18px;line-height:1.25;margin-bottom:16px;}
.cabeco-footer-grid h4:not(:first-child){margin-top:36px;}
.cabeco-footer-grid strong{font-size:12px;}
.cabeco-footer-grid p,.cabeco-footer-grid li{font-size:11px;line-height:1.62;}
.cabeco-footer-bottom{padding:16px 0;background:#171717;}

/* Elementor's generated global colours must never turn the supplied design blue/green. */
.cabeco-front-page .elementor-widget-heading .elementor-heading-title{color:#444;}
.cabeco-front-page .elementor-widget-button .elementor-button{box-shadow:none!important;}

@media(max-width:1280px){
  .cabeco-slider,.cabeco-slide{height:430px;}
  .cabeco-slide h2{font-size:38px;}
  .cabeco-company-home .elementor-widget-text-editor{font-size:15px;}
}
@media(max-width:1024px){
  .cabeco-main-header{height:92px;}
  .cabeco-header-spacer{height:122px;}
  .cabeco-logo{width:78px;max-height:74px;}
  .cabeco-menu{gap:21px;}
  .cabeco-menu a{font-size:13px;}
  .cabeco-home-intro,.cabeco-company-home{padding-top:58px!important;padding-bottom:66px!important;}
  .cabeco-company-home .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0 18px!important;}
  .cabeco-company-home .elementor-widget-text-editor{font-size:14px;}
  .cabeco-footer-grid{gap:32px;}
}
@media(max-width:782px){
  .cabeco-is-home .cabeco-header-spacer,.cabeco-header-spacer{height:72px;}
  .cabeco-is-home .cabeco-main-header{background:#fff;}
  .cabeco-is-home .cabeco-header-inner{width:100%;max-width:none;padding:0 18px;box-shadow:none;}
  .cabeco-main-header{height:72px;}
  .cabeco-logo{width:48px;max-height:48px;}
  .cabeco-slider,.cabeco-slide{height:255px;}
  .cabeco-slide{padding:55px 40px 25px;}
  .cabeco-slide h2{font-size:20px;}
  .cabeco-home-intro>.elementor-container,.cabeco-company-home>.elementor-container{display:block!important;}
  .cabeco-home-intro .elementor-column,.cabeco-company-home .elementor-column{width:100%!important;}
  .cabeco-home-intro .elementor-column-gap-default>.elementor-column>.elementor-element-populated,.cabeco-company-home .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0!important;}
  .cabeco-home-intro{padding:38px 20px 48px!important;}
  .cabeco-home-intro .elementor-column{margin-bottom:28px;}
  .cabeco-home-intro .elementor-heading-title{font-size:20px!important;}
  .cabeco-home-intro .elementor-widget-text-editor{font-size:13px;}
  .cabeco-anniversary{max-width:none;min-height:0;}
  .cabeco-section-title{padding:34px 20px!important;}
  .cabeco-section-title .elementor-heading-title{font-size:24px!important;}
  .cabeco-company-home{padding:44px 20px 58px!important;}
  .cabeco-company-home .elementor-column{margin-bottom:30px;}
  .cabeco-company-home .elementor-widget-text-editor{font-size:14px;}
  .cabeco-company-home h3.elementor-heading-title{font-size:23px!important;}
  .cabeco-clients{padding:48px 20px 58px!important;}
  .cabeco-clients h2{font-size:25px!important;}
  .cabeco-logo-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;}
  .cabeco-logo-grid img{max-height:28px;}
  .cabeco-hero-title{min-height:205px!important;}
  .cabeco-footer-grid{grid-template-columns:1fr 1fr;gap:34px 14px;}
}
@media(max-width:480px){
  .cabeco-container{width:min(100% - 38px,var(--cabeco-container));}
  .cabeco-slider,.cabeco-slide{height:225px;}
  .cabeco-slide h2{font-size:18px;}
  .cabeco-footer-grid h4{font-size:15px;}
  .cabeco-footer-grid p,.cabeco-footer-grid li,.cabeco-footer-grid strong{font-size:9.5px;}
}

/* ========================================================================== 
   Cabeco reference parity pass — v1.2.0
   Fixes the constrained slider, the malformed/duplicated intro block and the
   vertical rhythm differences visible in the supplied Divi comparison.
   ========================================================================== */
html,body{overflow-x:hidden;}
.cabeco-front-page>.elementor{width:100%;max-width:none;}

/* The home slider must escape every Elementor/theme max-width wrapper. */
.cabeco-home-slider-section{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding:0!important;
}
.cabeco-home-slider-section>.elementor-container,
.cabeco-home-slider-section .elementor-column,
.cabeco-home-slider-section .elementor-widget-wrap,
.cabeco-home-slider-section .elementor-widget,
.cabeco-home-slider-section .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.cabeco-home-slider-section>.elementor-container{display:block!important;}
.cabeco-home-slider-section .elementor-column{display:block!important;}
.cabeco-slider,.cabeco-slide{width:100%;height:530px;}
.cabeco-slide{min-height:530px;padding:82px 24px 36px;background-position:center center;}
.cabeco-slide:before{background:rgba(0,0,0,.07);}
.cabeco-slide h2{font-size:44px;line-height:1.18;max-width:1180px;margin-inline:auto;}

/* Dedicated Elementor-editable intro component. */
.cabeco-home-intro-section{padding:62px 0 64px!important;}
.cabeco-home-intro-section>.elementor-container{max-width:1080px!important;}
.cabeco-home-intro-section .elementor-column,
.cabeco-home-intro-section .elementor-widget-wrap,
.cabeco-home-intro-section .elementor-widget,
.cabeco-home-intro-section .elementor-widget-container{width:100%!important;margin:0!important;padding:0!important;}
.cabeco-home-intro-widget{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr) minmax(0,1fr);
  gap:38px;
  align-items:start;
  width:100%;
}
.cabeco-home-intro-media img{
  display:block;
  width:100%!important;
  max-width:none!important;
  aspect-ratio:1/1;
  object-fit:cover;
}
.cabeco-home-intro-copy{padding-top:2px;}
.cabeco-home-intro-copy h2{
  margin:0 0 10px;
  color:#444;
  font-size:25px;
  line-height:1.02;
  font-weight:400;
}
.cabeco-home-intro-description{color:#555;font-size:14px;line-height:1.45;}
.cabeco-home-intro-description p{margin:0 0 15px;}
.cabeco-home-intro-button{
  display:table;
  margin:20px auto 0;
  padding:10px 22px;
  background:#006c87;
  color:#fff!important;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.cabeco-home-intro-button:hover{background:#cb1734;color:#fff!important;}
.cabeco-home-intro-widget>.cabeco-anniversary{
  width:100%;
  max-width:none;
  min-height:0;
  margin:0;
  padding:18px 20px 17px;
  border:7px solid #c6c6c6;
  background:#fff;
}
.cabeco-home-intro-widget>.cabeco-anniversary h2{
  margin:0 0 8px!important;
  color:#cb1734!important;
  font-size:39px!important;
  line-height:.9!important;
  font-weight:700!important;
  text-transform:uppercase;
}
.cabeco-home-intro-widget>.cabeco-anniversary h3{
  margin:0 0 13px!important;
  color:#cb1734!important;
  font-size:18px!important;
  line-height:1.08!important;
  font-weight:700!important;
  text-transform:uppercase;
}
.cabeco-anniversary-copy{color:#555;font-size:14px;line-height:1.43;}
.cabeco-anniversary-copy p{margin:0;}

/* Match the reference page rhythm after the shorter intro section. */
.cabeco-section-title{padding:47px 0!important;}
.cabeco-section-title .elementor-heading-title{font-size:29px!important;}
.cabeco-company-home{padding:72px 0 84px!important;}
.cabeco-clients{padding:64px 0 74px!important;}

@media(max-width:1280px){
  .cabeco-slider,.cabeco-slide{height:500px;min-height:500px;}
  .cabeco-slide h2{font-size:40px;}
}
@media(max-width:1024px){
  .cabeco-home-intro-widget{gap:28px;}
  .cabeco-home-intro-copy h2{font-size:22px;}
  .cabeco-home-intro-description,.cabeco-anniversary-copy{font-size:13px;}
  .cabeco-home-intro-widget>.cabeco-anniversary h2{font-size:34px!important;}
  .cabeco-home-intro-widget>.cabeco-anniversary h3{font-size:16px!important;}
}
@media(max-width:782px){
  .cabeco-slider,.cabeco-slide{height:255px;min-height:255px;}
  .cabeco-slide{padding:48px 40px 24px;}
  .cabeco-slide h2{font-size:20px;}
  .cabeco-home-intro-section{padding:38px 20px 46px!important;}
  .cabeco-home-intro-widget{display:block;}
  .cabeco-home-intro-media,.cabeco-home-intro-copy,.cabeco-home-intro-widget>.cabeco-anniversary{margin-bottom:28px;}
  .cabeco-home-intro-copy h2{font-size:21px;}
  .cabeco-home-intro-widget>.cabeco-anniversary{margin-bottom:0;}
}
@media(max-width:480px){
  .cabeco-slider,.cabeco-slide{height:225px;min-height:225px;}
  .cabeco-slide h2{font-size:18px;}
}
