/* BeFoam visual refresh (2026-09-27). Loaded by wp-content/novamira-sandbox/befoam-visual-refresh.php.
   Disable that file to revert every rule below. */

/* ---------- 1. Brand colours and links ---------- */
a{color:#E8741E}
a:hover,a:active{color:#CF6517}
.elementor-element-ftr_c1t a{color:#E8741E !important;font-weight:500}
.elementor-element-ftr_c1t a:hover,.elementor-element-ftr_c2t a:hover,.elementor-element-ftr_c3t a:hover{color:#E8741E !important}
.elementor-element-ftr_c2t a,.elementor-element-ftr_c3t a{transition:color .15s}
.elementor-element-ftr_copy .elementor-heading-title{color:#B5AEA7 !important}
.elementor-element-ftr_c1h .elementor-heading-title{font-size:26px !important;font-weight:800 !important;letter-spacing:-.01em}

/* ---------- 3. Header: sticky, centred row, CTA ---------- */
body #masthead{position:sticky !important;top:0;z-index:999}
.elementor-element-723a86c:empty,.elementor-element-375364d:empty,.elementor-element-723a86c,.elementor-element-375364d{display:none !important}
body.admin-bar #masthead{top:32px !important}
@media(max-width:782px){body.admin-bar #masthead{top:46px !important}}
@media(max-width:600px){body.admin-bar #masthead{top:0 !important}}
.elementor-element-a188a14>.e-con-inner{align-items:center;flex-wrap:nowrap}
.elementor-element-45da268,.elementor-element-1698301,.elementor-element-hdr_cta{justify-content:center}
.elementor-element-a20bf02 .elementor-heading-title{margin:0;line-height:1}
.elementor-element-hdr_cta{align-items:flex-end}
.elementor-element-hdr_ctabtn .elementor-button{padding:11px 18px;font-size:15px;white-space:nowrap}
@media(max-width:1024px){
  .elementor-element-a188a14>.e-con-inner{flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important}
  .elementor-element-45da268{--width:auto !important;width:auto !important;flex:1 1 auto !important;min-width:0;padding-top:6px !important;padding-bottom:6px !important}
  .elementor-element-1698301{--width:64px !important;width:64px !important;flex:0 0 64px !important;padding-top:6px !important;padding-bottom:6px !important;overflow:visible}
  .elementor-element-1698301 .hfe-nav-menu__toggle{margin:0 0 0 auto !important}
  /* Only the closed dropdown is clipped; clipping the whole header row hid the open menu in Safari/WebKit. */
  .elementor-element-1698301 nav.hfe-dropdown:not(.menu-is-active){overflow:hidden}
  .elementor-element-hdr_cta{display:none !important}
}

/* ---------- 4. One button style ---------- */
.elementor-button{border-radius:6px;font-weight:700;transition:filter .15s,transform .15s,box-shadow .2s}
.elementor-button:hover{filter:brightness(.92);transform:translateY(-1px)}
.elementor-button:active{transform:translateY(0)}

/* ---------- 7. Intro next to a photo, no drifting gradient ---------- */
.elementor-element-sec_cards1,.elementor-element-sec_cards2,.elementor-element-hp_an_faq,.elementor-element-sec_intro,
.elementor-element-p1_gal,.elementor-element-p1_text,.elementor-element-p2_gal,.elementor-element-p2_text,.elementor-element-p3_gal,.elementor-element-p3_text,
.elementor-element-p4_gal,.elementor-element-p4_text,.elementor-element-p5_gal,.elementor-element-p5_text,.elementor-element-p6_gal,.elementor-element-p6_text{background-image:none !important;background-color:#FFFFFF !important}
.elementor-element-an_why2{background-image:none !important;background-color:#F6F6F6 !important}
.bf-lead{font-size:22px;line-height:1.45;font-weight:500;color:#1A1A1A;margin-bottom:16px}
.elementor-element-w_intro p{max-width:62ch}
.bf-introimg img{width:100%;border-radius:10px;aspect-ratio:4/3;object-fit:cover}
@media(max-width:767px){.bf-lead{font-size:19px}}

/* ---------- 8. Product cards ---------- */
.bf-card{position:relative;transition:transform .2s}
.bf-card>.elementor-widget-wrap{padding:0 !important;flex-direction:column;flex-wrap:nowrap !important;align-content:stretch;border-radius:10px;overflow:hidden;background:#FFFFFF;border:1px solid #ECE7E1 !important;transition:box-shadow .2s}
.bf-card:hover{transform:translateY(-3px)}
.bf-card:hover>.elementor-widget-wrap{box-shadow:0 12px 26px rgba(40,25,10,.10)}
.bf-card .elementor-widget{margin-bottom:0 !important}
.bf-card .elementor-widget:not(.elementor-widget-image){padding:0 22px}
.bf-card .elementor-widget-image{margin-bottom:18px !important}
.bf-card .elementor-widget-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:0}
.bf-card .elementor-widget-heading{margin-bottom:8px !important}
.bf-card .elementor-widget-text-editor{flex:1 0 auto}
.bf-card .elementor-widget-button{padding-bottom:22px !important}
.bf-card .elementor-widget-button,.bf-card .elementor-widget-button .elementor-widget-container,.bf-card .elementor-button-wrapper,.bf-card .elementor-button{position:static !important}
.bf-card .elementor-button{background:none !important;padding:0 !important;color:#E8741E !important;font-size:15px !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:none !important;filter:none !important;transform:none !important}
.bf-card .elementor-button::after{content:"";position:absolute;inset:0;z-index:2}
.bf-card:hover .elementor-button{color:#CF6517 !important}
/* wide crates card */
.bf-wide>.elementor-widget-wrap{background:#1A1A1A !important;border-color:#1A1A1A !important}
.bf-wide .elementor-inner-section{margin:0 !important}
.bf-wide .elementor-inner-section>.elementor-container{align-items:stretch}
.bf-wide .bf-wide-img>.elementor-widget-wrap{padding:0 !important;height:100%}
.bf-wide .bf-wide-img .elementor-widget-image{margin:0 !important;height:100%}
.bf-wide .bf-wide-img .elementor-widget-image .elementor-widget-container,.bf-wide .bf-wide-img .elementor-widget-image img{height:100%}
.bf-wide .bf-wide-img img{aspect-ratio:auto !important;min-height:260px;object-fit:cover;background:#FFFFFF}
.bf-wide .bf-wide-txt>.elementor-widget-wrap{padding:34px 38px !important;align-content:center}
.bf-wide .bf-wide-txt .elementor-widget{padding:0 !important}
.bf-wide .elementor-heading-title{color:#FFFFFF !important}
.bf-wide .bf-badge .elementor-heading-title{display:inline-block;background:#E8741E;color:#FFFFFF !important;font-size:11px !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:4px;line-height:1.3}
.bf-wide .elementor-widget-text-editor{color:#CFC9C2 !important;flex:0 0 auto}
.bf-wide .elementor-widget-button{padding:0 !important;margin-top:14px !important}
.bf-wide .elementor-inner-section>.elementor-container,.bf-wide .bf-wide-txt,.bf-wide .bf-wide-txt>.elementor-widget-wrap{position:static !important}
@media(max-width:767px){.bf-wide .bf-wide-txt>.elementor-widget-wrap{padding:24px 22px !important}.bf-wide .bf-wide-img img{min-height:0;height:auto !important;aspect-ratio:3/2 !important}}

/* ---------- 9. One page-header style with breadcrumbs ---------- */
.bf-phead>.elementor-container{max-width:1000px}
body .bf-phead .elementor-column>.elementor-widget-wrap{padding-left:0 !important;padding-right:0 !important}
body .bf-phead .elementor-widget-heading .elementor-heading-title{text-align:left !important;color:#FFFFFF !important;font-size:40px !important;font-weight:800 !important;line-height:1.15 !important;text-transform:none !important;padding-bottom:0 !important;letter-spacing:-.01em}
body .bf-phead .elementor-widget-heading .elementor-heading-title:after{display:none !important}
body .bf-phead .elementor-widget-button .elementor-button-wrapper,body .bf-phead .elementor-widget-button{text-align:left !important}
body .bf-phead .elementor-widget-text-editor{text-align:left !important;max-width:62ch}
body .bf-phead .elementor-widget-text-editor p{text-align:left !important}
.bf-crumb{margin-bottom:12px !important}
.bf-crumb .rank-math-breadcrumb p{margin:0;font-size:14px;color:#9C958E}
.bf-crumb .rank-math-breadcrumb a{color:#CFC9C2;font-weight:400}
.bf-crumb .rank-math-breadcrumb a:hover{color:#E8741E}
.bf-crumb .separator{margin:0 6px;color:#6F6962}
@media(max-width:1060px){body .bf-phead .elementor-column>.elementor-widget-wrap{padding-left:20px !important;padding-right:20px !important}}
@media(max-width:767px){body .bf-phead .elementor-widget-heading .elementor-heading-title{font-size:30px !important}}

/* ---------- 10. Galleries and lead text ---------- */
.bf-gal .gallery{display:grid !important;gap:10px;margin:0 !important}
.bf-gal .gallery-columns-2{grid-template-columns:repeat(2,1fr)}
.bf-gal .gallery-columns-3{grid-template-columns:repeat(3,1fr)}
.bf-gal .gallery-columns-4{grid-template-columns:repeat(4,1fr)}
.bf-gal .gallery-columns-5{grid-template-columns:repeat(5,1fr)}
.bf-gal .gallery br{display:none}
.bf-gal .gallery-item{width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important}
.bf-gal .gallery-item img{width:100% !important;height:auto !important;aspect-ratio:1/1;object-fit:cover;border-radius:8px !important;border:0 !important;box-shadow:none !important}
@media(max-width:767px){.bf-gal .gallery{grid-template-columns:repeat(2,1fr) !important}}
body .elementor-element.bf-lede .elementor-heading-title{border-left:0 !important;padding-left:0 !important;font-size:24px !important;line-height:1.35 !important;color:#1A1A1A !important;font-weight:700 !important;margin-bottom:6px !important}
body .elementor-element.bf-text{border-left:0 !important;padding-left:0 !important}
@media(max-width:767px){body .elementor-element.bf-lede .elementor-heading-title{font-size:20px !important}}

/* ---------- 11. See also ---------- */
.bf-related .bf-rel>.elementor-widget-wrap{position:relative;background:#FFFFFF;border:1px solid #ECE7E1;border-radius:10px;padding:12px !important;transition:box-shadow .2s,transform .2s}
.bf-related .bf-rel:hover>.elementor-widget-wrap{box-shadow:0 10px 22px rgba(40,25,10,.09);transform:translateY(-2px)}
.bf-related .elementor-image-box-wrapper{display:flex !important;align-items:center;gap:14px;text-align:left !important}
.bf-related .elementor-image-box-img{width:72px !important;flex:0 0 72px;margin:0 !important}
.bf-related .elementor-image-box-img img{width:72px;height:72px;object-fit:cover;border-radius:6px}
.bf-related .elementor-image-box-title{font-size:15px !important;line-height:1.3 !important;margin:0 0 4px !important;font-weight:700}
.bf-related .elementor-image-box-title a{color:#1A1A1A}
.bf-related .elementor-image-box-title a::after{content:"";position:absolute;inset:0}
.bf-related .elementor-image-box-description{color:#E8741E;font-size:13px;font-weight:700;margin:0}
.bf-related .elementor-image-box-content{position:static}
.bf-related .elementor-widget-image-box,.bf-related .elementor-widget-image-box .elementor-widget-container{position:static}

/* ---------- 12. Why choose us ---------- */
.elementor-element-an_cardrow .elementor-column>.elementor-widget-wrap{background:#FFFFFF !important;border-left:3px solid #E8741E !important;border-radius:0 8px 8px 0 !important;padding:24px 26px !important;text-align:left;box-shadow:none !important}
.elementor-element-an_cardrow .elementor-icon-wrapper,.elementor-element-an_cardrow .elementor-heading-title,.elementor-element-an_cardrow .elementor-widget-text-editor,.elementor-element-an_cardrow .elementor-widget-text-editor p{text-align:left !important}
.elementor-element-an_cardrow .elementor-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#FCEBDD;font-size:20px !important}
.elementor-element-an_cardrow .elementor-icon svg{width:20px;height:20px}
.elementor-element-an_cardrow .elementor-widget-icon{margin-bottom:12px !important}
.elementor-element-an_cardrow .elementor-widget-heading{margin-bottom:8px !important}

/* ---------- 13. Contact page ---------- */
.wpcf7-form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.wpcf7-form>*{grid-column:1/-1}
.wpcf7-form>p:nth-of-type(1),.wpcf7-form>p:nth-of-type(2){grid-column:auto}
.wpcf7-form label{display:block;font-weight:600;color:#333333;margin-bottom:14px}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form textarea{width:100%;padding:12px 14px;border:1px solid #D9D4CE;border-radius:6px;margin-top:6px;font-size:15px;background:#FFFFFF;transition:border-color .15s,box-shadow .15s}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:#E8741E;box-shadow:0 0 0 3px rgba(232,116,30,.18)}
.wpcf7-form textarea{min-height:140px}
.wpcf7-form input[type=submit]{background:#E8741E;color:#FFFFFF;border:0;padding:15px 34px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s;margin-top:4px}
.wpcf7-form input[type=submit]:hover{filter:brightness(.92);transform:translateY(-1px)}
@media(max-width:767px){.wpcf7-form{grid-template-columns:1fr}.wpcf7-form>p:nth-of-type(1),.wpcf7-form>p:nth-of-type(2){grid-column:1/-1}}
.bf-cinfo{color:#EDEAE6;font-size:15px;line-height:1.5}
.bf-cinfo .it{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #2E2B28}
.bf-cinfo .it:last-of-type{border-bottom:0}
.bf-cinfo .ic{color:#E8741E;font-size:18px;line-height:1.4;width:22px;flex:none;text-align:center}
.bf-cinfo .it a,.bf-cinfo .it b{color:#FFFFFF;font-weight:700;text-decoration:none}
.bf-cinfo .it a:hover{color:#E8741E}
.bf-cinfo .it span.sub{display:block;color:#A8A29B;font-size:14px;font-weight:400}
.bf-cinfo .note{margin:14px 0 0;color:#CFC9C2;font-size:14px}
.bf-cinfo .note a{color:#E8741E;font-weight:700}
.bf-cinfo .acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.bf-cinfo .acts a{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 10px;border-radius:6px;font-weight:700;text-decoration:none;background:#E8741E;color:#FFFFFF;border:2px solid #E8741E;transition:filter .15s}
.bf-cinfo .acts a.ghost{background:transparent;border-color:rgba(255,255,255,.4)}
.bf-cinfo .acts a:hover{filter:brightness(.92);color:#FFFFFF}

/* ---------- 15. Mobile call / quote bar ---------- */
.bf-mbar{display:none}
@media(max-width:767px){
  .bf-mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9990;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));background:#FFFFFF;border-top:1px solid #ECE7E1;box-shadow:0 -6px 16px rgba(0,0,0,.08)}
  .bf-mbar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;color:#FFFFFF;background:#E8741E}
  .bf-mbar a.call{background:#1A1A1A}
  .bf-mbar a{font-size:14px;padding:12px 6px;white-space:nowrap;min-width:0}
  body{padding-bottom:72px}
}
/* Tidio sets its own inline !important position, so the bar makes room for the chat bubble instead (script in befoam-visual-refresh.php). */
@media(max-width:374px){.bf-mbar a{font-size:13px;gap:4px}}

/* ---------- 17. Focus and motion ---------- */
a:focus-visible,.elementor-button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #E8741E;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.bf-card,.bf-card>.elementor-widget-wrap,.elementor-button,.bf-related .bf-rel>.elementor-widget-wrap{transition:none !important;transform:none !important}}

/* ---------- 18. German pages: long compound words ---------- */
html[lang^="de"] h1,html[lang^="de"] h2,html[lang^="de"] h3,html[lang^="de"] .elementor-heading-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
@media(max-width:767px){html[lang^="de"] .elementor-element-w_h1 .elementor-heading-title{font-size:clamp(24px,8.2vw,34px) !important;line-height:1.15 !important}}
/* German specs table: long compound labels, so on phones each row stacks (label above value) */
html[lang^="de"] .crates-specs th,html[lang^="de"] .crates-specs td{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}
@media(max-width:767px){html[lang^="de"] .crates-specs,html[lang^="de"] .crates-specs tbody,html[lang^="de"] .crates-specs tr,html[lang^="de"] .crates-specs th,html[lang^="de"] .crates-specs td{display:block;width:auto}html[lang^="de"] .crates-specs tr{border-bottom:1px solid #E3E3E3}html[lang^="de"] .crates-specs th{border-bottom:0;padding:10px 12px 2px}html[lang^="de"] .crates-specs td{border-top:0;padding:2px 12px 10px}}

/* German mobile menu: keep long product names on one line at narrow widths */
@media (max-width: 359px) {
  html[lang^="de"] .hfe-nav-menu .sub-menu a.hfe-sub-menu-item { font-size: 19px; }
}
