.woohoo ul.products li.product .woocommerce-loop-product__title,
.woohoo ul.products li.product h2.woocommerce-loop-product__title { margin-top:0; letter-spacing:normal; }
.woohoo ul.products li.product .price { margin-bottom:12px; }
.woohoo ul.products li.product .woocommerce-loop-product__title,
.woohoo ul.products li.product h2.woocommerce-loop-product__title,
.woohoo ul.products li.product .price,
.woohoo ul.products li.product .bm-loop-rating-row,
.woohoo ul.products li.product .bm-loop-rating-count { position:relative; }
.woohoo ul.products li.product .woocommerce-image__wrapper .sale-item.product-label.type-circle { top:-5px; left:10px; }
.woohoo ul.products li.product .woocommerce-image__wrapper .ckit-badge_wrapper { top:auto; bottom:10px; left:10px; width:auto; height:auto; }
.woohoo .col-full { box-sizing:content-box; }
.woohoo .content-area { width:100%; }
.woohoo .main-header { display:flex; align-items:center; gap:0; }
.woohoo .site-branding { flex:0 0 auto; margin-right:48px; }
.woohoo .site-search { flex:1; min-width:0; margin:0; }
.woohoo .secondary-navigation { flex:0 0 auto; margin-left:auto; padding-left:1.2em; }
.woohoo .secondary-navigation ul { display:block; margin:0 -15px 0 0; padding:0; list-style:none; white-space:nowrap; }
.woohoo .secondary-navigation li { display:inline-block; position:relative; min-width:0; border-left:1px solid #eee; padding:0 5px; }
.woohoo .secondary-navigation li:first-child { border:0; }
.woohoo .secondary-navigation a { position:relative; display:block; padding:35px 0.875em 0; color:#444; font-size:14px; line-height:21px; text-decoration:none; }
.woohoo .secondary-navigation .icon-wrapper { position:absolute; left:50%; top:5px; display:block; width:28px; height:28px; margin:0; transform:translate(-50%, 0); }
.woohoo .secondary-navigation .woohoo-icon { width:28px; height:28px; }
.woohoo-mobile-cart { display:none; }
.woohoo .menu-primary-menu-container > ul { display:block; margin:0; padding:0; }
.woohoo .menu-primary-menu-container > ul > li { display:inline-block; }
.woohoo .menu-primary-menu-container > ul > li > a { padding:0 0.55em; }
.woohoo .menu-primary-menu-container > ul > li:first-child > a { padding-left:0; }
.woohoo .main-navigation li { position:relative; }
.woohoo .main-navigation li:focus-within > .sub-menu-wrapper { opacity:1; visibility:visible; pointer-events:auto; }
.woohoo-submenu-toggle { position:absolute; right:0; padding:0; border:0; }
.woohoo .main-navigation ul.menu > li.menu-item-has-children > a::after { display:none; }
@media (min-width:993px) {
  .woohoo .main-navigation .sub-menu .woohoo-submenu-toggle { display:none; }
  .woohoo .main-navigation ul.sub-menu a {
    display:block;
    padding:0.3em 0.8em !important;
    font-size:14px;
    line-height:1.4;
  }
  .woohoo .main-navigation ul.sub-menu li.menu-item-has-children > a { position:relative; }
  .woohoo .main-navigation ul.sub-menu li.menu-item-has-children > a::after {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    right:12px;
    width:6px;
    height:6px;
    border-top:1.5px solid currentColor;
    border-right:1.5px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
  }
  .woohoo .main-navigation ul.menu > li.menu-item-has-children:hover > .sub-menu-wrapper,
  .woohoo .main-navigation ul.menu > li.menu-item-has-children:focus-within > .sub-menu-wrapper {
    z-index:40;
  }
}
.woohoo .header-widget-region .widget { margin:0; text-align:center; }
.woohoo .header-widget-region a { text-decoration:underline; margin-left:5px; }
.woohoo .screen-reader-text { visibility:visible; }
.woohoo .skip-link { visibility:visible !important; }
.woohoo .skip-link:focus,
.woohoo .skip-link:focus-visible {
  visibility:visible !important;
  clip:auto !important;
  clip-path:none !important;
  width:auto;
  height:auto;
  margin:0;
  overflow:visible;
  position:fixed;
  top:12px;
  left:12px;
  z-index:10000;
  padding:12px 16px;
  border:2px solid #ec008c;
  background:#fff;
  box-shadow:0 3px 12px rgb(0 0 0 / 20%);
  color:#111;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}
.woohoo-menu-overlay[hidden],.woohoo-cart-overlay[hidden] { display:none; }
.woohoo-menu-overlay,.woohoo-cart-overlay { position:fixed; inset:0; border:0; border-radius:0; padding:0; z-index:990; }
.woohoo-menu-overlay { background:rgba(52,53,55,.4); }
/* Above 992px the cart's wash is storefront.css's .drawer-open:before, as on
   live; below it, the overlay paints live's lighter .mobile-overlay wash. */
@media (max-width:992px) {
  .woohoo-cart-overlay { background:rgba(52,53,55,.4); }
}
/* An always-present, off-canvas box like live's drawer rather than a native
   <dialog> shown with showModal(): it always has a layout box and stacks by
   z-index, so the login ribbon's z-index:9998 stays above it (see cart.js).
   It slides in with a real `right` offset, not a transform, which would leave
   the closed box's layout rect wider than the viewport and cause horizontal
   scroll; -440px clears the drawer's max width, min(420px,100%). */
.woohoo #woohoo-cart { display:block; position:fixed; inset:0 -440px 0 auto; width:min(420px,100%); height:100dvh; max-height:100dvh; max-width:100%; margin:0; padding:0; border:0; background:#fff; box-shadow:none; z-index:1000; opacity:0; visibility:hidden; transition:right 0.35s ease,opacity 0.35s ease,visibility 0.35s ease; }
.woohoo #woohoo-cart.is-open { right:0; opacity:1; visibility:visible; }
.woohoo-cart-heading { position:absolute; top:0; right:0; left:0; display:flex; align-items:center; height:50px; margin:0; padding:0 20px; }
.woohoo-cart-heading h2 { margin:0; color:#111; font-size:17px; font-weight:600; line-height:1.5; letter-spacing:normal; }
.woohoo #woohoo-cart .woohoo-fsn-title,
.woohoo #woohoo-cart .woohoo-fsn-notice { color:#444; }
.woohoo #woohoo-cart [data-close-cart] { position:absolute; top:12.5px; right:16px; display:flex; align-items:center; justify-content:center; width:26px; height:26px; margin:0; padding:0; border:0; border-radius:0; background:none; color:#111; outline:none; box-shadow:none; }
.woohoo #woohoo-cart [data-close-cart]:focus,
.woohoo #woohoo-cart [data-close-cart]:focus-visible { outline:none; box-shadow:none; }
/* No opacity/visibility override here: #woohoo-cart hides via
   opacity/visibility (see above), and forcing this child visible would let
   it sit on top of the page, intercepting clicks, while the panel is closed. */
.woohoo #woohoo-cart .widget_shopping_cart { position:static; display:flex; flex-direction:column; box-sizing:border-box; width:100%; height:calc(100% - 50px); max-height:none; margin-top:50px; padding:0 20px; overflow:hidden; }
.woohoo #woohoo-cart .woocommerce-mini-cart__buttons { clear:both; margin:0; padding:1em 0; text-align:center; }
.woohoo #woohoo-cart .woocommerce-mini-cart__buttons .checkout { display:block; box-sizing:border-box; height:50px; margin:0; padding:0 1.41575em; border:1px solid #ec008c; border-radius:6px; background:#ec008c; box-shadow:none; color:#fff; font-size:16px; font-weight:600; line-height:50px; text-align:center; }
.woohoo #woohoo-cart .woocommerce-mini-cart__buttons .checkout:hover { background:#bb0872; border-color:#bb0872; color:#fff; }
.woohoo #woohoo-cart .woocommerce-mini-cart__buttons .checkout::before { position:relative; top:1px; display:inline-flex; width:14px; height:14px; margin-right:8px; content:""; background:#fff; vertical-align:middle; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='%23000' d='M20 12c0-1.103-.897-2-2-2h-1V7c0-2.757-2.243-5-5-5S7 4.243 7 7v3H6c-1.103 0-2 .897-2 2v8c0 1.103.897 2 2 2h12c1.103 0 2-.897 2-2v-8zM9 7c0-1.654 1.346-3 3-3s3 1.346 3 3v3H9V7z'/%3E%3C/svg%3E"); mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
.woohoo #woohoo-cart .widget_shopping_cart_content { display:flex; flex:1; flex-direction:column; min-height:0; width:100%; padding:0; }
.woohoo #woohoo-cart .product_list_widget { flex:1 1 auto; margin:0; padding:0 12px 0 0; overflow:auto; }
.woohoo #woohoo-cart .woocommerce-mini-cart.cart_list::before { display:inline-block; position:absolute; width:100%; margin-left:-20px; border-top:1px solid rgba(0,0,0,.05); content:""; }
.woohoo #woohoo-cart .woocommerce-mini-cart-item { position:relative; overflow:hidden; margin:0; padding:1em 0 1em 35px; border-bottom:1px solid rgba(0,0,0,0.06); color:#444; font-size:13px; line-height:1.4; }
.woohoo #woohoo-cart .woocommerce-mini-cart-item:last-child { border-bottom:0; }
.woohoo #woohoo-cart .woocommerce-mini-cart-item a { color:#222; margin-bottom:.25rem; }
.woohoo #woohoo-cart .woocommerce-mini-cart-item .amount { color:#111; font-weight:700; }
.woohoo #woohoo-cart .woocommerce-mini-cart-item img { float:right; width:55px; max-width:55px; height:auto; margin-left:20px; margin-bottom:0; }
.woohoo #woohoo-cart .woocommerce-mini-cart__total { display:flex; justify-content:space-between; gap:16px; clear:both; margin:0; padding:1.2em 0 0; border-top:1px solid #e2e2e2; color:#111; font-size:15px; font-weight:700; }
.woohoo #woohoo-cart .woocommerce-mini-cart__total > * { float:none; }
.woohoo #woohoo-cart .woocommerce-mini-cart__empty-message { position:relative; margin:0; padding-top:115px; border-top:1px solid #eee; color:#222; font-size:17px; font-weight:600; text-align:center; }
.woohoo #woohoo-cart .woocommerce-mini-cart__empty-message::before { content:""; position:absolute; top:50%; left:50%; width:100px; height:100px; margin-top:5px; margin-left:-10px; transform:translate(-50%,-50%); background:#d4d3d3; mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 32 40"><path d="M6.783 25.703a2.264 2.264 0 0 0-2.262 2.262 2.263 2.263 0 1 0 2.262-2.262Zm11.4 0a2.264 2.264 0 0 0-2.262 2.262 2.263 2.263 0 1 0 2.262-2.262Zm-11.4 1a1.263 1.263 0 1 1-.001 2.525 1.263 1.263 0 0 1 .001-2.526Zm11.4 0a1.263 1.263 0 1 1-.001 2.525 1.263 1.263 0 0 1 .001-2.526Zm2.566-5.095v1.69a.39.39 0 0 1-.39.39H3.718a.5.5 0 0 0 0 1h16.641a1.39 1.39 0 0 0 1.39-1.39v-2.055l.005-.02 3.621-15.39H30a.5.5 0 0 0 0-1h-5.021a.5.5 0 0 0-.487.385l-1.056 4.49H2a.5.5 0 0 0-.493.583l1.863 10.9a.5.5 0 0 0 .493.417h16.886Zm2.452-10.9H2.593l1.691 9.9h16.587l2.33-9.9Zm-6.549-3.71 2.25-3.66a.501.501 0 0 0-.852-.523L15.8 6.474a.5.5 0 0 0 .852.524Zm-7.485-.524-2.25-3.66a.501.501 0 0 0-.852.525l2.25 3.659a.501.501 0 0 0 .852-.524Zm3.816-.541v-3.66a.5.5 0 0 0-1 0v3.66a.5.5 0 0 0 1 0Z"/></svg>'); mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
/* As on live (Shoptimizer's #ajax-loading, .shoptimizer-loader and .spinner
   rules): WooCommerce core's per-row blockUI wash is neutralized, and one
   drawer-wide rgba(255,255,255,.5) wash with a 38px spin ring shows for the
   remove/refresh request only; cart.js builds the element. */
.woohoo #woohoo-cart div.blockOverlay { background-color:transparent !important; }
.woohoo #woohoo-cart .woohoo-cart-busy { display:none; position:absolute; z-index:5; inset:0; align-items:center; justify-content:center; background-color:rgba(255,255,255,.5); }
.woohoo #woohoo-cart .woohoo-cart-busy.is-visible { display:flex; }
.woohoo #woohoo-cart .woohoo-cart-busy__spinner { width:38px; height:38px; border:1px solid #ccc; border-bottom-color:#111; border-radius:50%; animation:woohoo-cart-spin .8s linear infinite; }
@keyframes woohoo-cart-spin { to { transform:rotate(360deg); } }
.woohoo-minicart-quantity__price,.woohoo-minicart-quantity { display:none; }
.woohoo-js .woohoo-minicart-quantity__static { display:none; }
.woohoo-js .woohoo-minicart-quantity__price { display:inline; }
.woohoo-js .woohoo-minicart-quantity { display:flex; align-items:center; width:82px; margin:8px 0 4px; padding:2px; border:1px solid #e1e0e0; border-radius:7px; box-shadow:0 1px 2px rgb(0 0 0 / 5%); }
.woohoo .woohoo-minicart-quantity .quantity { margin:0; }
.woohoo .woohoo-minicart-quantity input.qty { width:40px; min-width:40px; height:26px; padding:0; border:0; background:transparent; box-shadow:none; color:#111; font-size:12px; text-align:center; }
.woohoo .woohoo-minicart-quantity button { display:flex; flex:0 0 18px; align-items:center; justify-content:center; width:18px; height:26px; padding:0; border:0; background:transparent; color:#444; font-size:13px; line-height:1; }
.woohoo .woohoo-minicart-quantity button svg { display:block; width:11px; height:11px; stroke:#111; }
.woohoo .woohoo-minicart-quantity button:disabled { opacity:.3; cursor:default; }
.woohoo .woohoo-minicart-quantity[aria-busy="true"] { opacity:.65; }
.woohoo .woohoo-minicart-payment { margin:0; padding:0 0 1em; font-size:12px; line-height:1.5; text-align:center; }
.woohoo .woohoo-minicart-payment img { display:block; width:auto; max-width:80%; height:auto; margin:2px auto 13px; }
.woohoo :focus:not(:focus-visible),
.woohoo [tabindex="-1"]:focus { outline:none; }
.woohoo article:has(.bc-main-heading) > .entry-header { display:none; }
.woohoo .archive-header:empty { display:none; }
@media (min-width:993px) {
  .woohoo .main-header { padding-top:30px; padding-bottom:30px; }
  .woohoo .menu-toggle,.woohoo .mobile-search-toggle,.woohoo .woohoo-menu-close { display:none; }
  .woohoo .col-full-nav { position:sticky; top:0; z-index:50; border-bottom:0; }
  .woohoo .menu-primary-menu-container > ul > li.dropdown-open > .sub-menu-wrapper { opacity:1; visibility:visible; }
  .woohoo .menu-primary-menu-container > ul > li > .woohoo-submenu-toggle { display:none; }
  .woohoo .main-navigation ul.menu > li.menu-item-has-children > a::after {
    content:"";
    display:inline-block;
    position:relative;
    top:1px;
    width:12px;
    height:12px;
    margin-left:6px;
    background:#444;
    -webkit-mask:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
}
@media (max-width:992px) {
  .woohoo .topbar-wrapper,.woohoo .secondary-navigation { display:none; }
  .woohoo .site-header { position:sticky; top:0; z-index:1000; background:#fff; }
  .woohoo .main-header { display:block; height:auto; min-height:61px; padding:0 15px; }
  .woohoo .site-branding { display:flex; justify-content:center; align-items:center; margin:0; height:61px; }
  .woohoo .site-branding .custom-logo { height:36px; width:auto; }
  .woohoo .menu-toggle { position:absolute; top:15.5px; left:15px; width:60px; height:30px; }
  .woohoo .menu-toggle .bar-text { display:block; font-size:10px; left:28px; top:8px; margin:0; }
  .woohoo .mobile-search-toggle { position:absolute; top:0; right:60px; bottom:0; margin:0; padding:0; display:flex; align-items:center; background:transparent; border:0; }
  .woohoo .mobile-search-toggle img { width:20px; height:20px; }
  .woohoo .site-search { display:block; height:60px; margin:0; padding:0 1em 1em; background:#fff; box-shadow:0 3px 10px -5px rgba(0,0,0,.18); }
  .woohoo:not(.m-search-toggled) .site-search { display:none; }
  /* As on live, the opened panel overlays the promo bar below the header
     instead of pushing it down. margin:0 overrides storefront.css's
     .m-search-toggled .site-header .site-search { margin-left:-1em;
     margin-right:-1em }, which would make this absolutely positioned panel
     overflow 15px past each edge. */
  .woohoo.m-search-toggled .site-search { position:absolute; top:100%; left:0; right:0; margin:0; }
  .woohoo .site-search input[type="search"] { background:#f8f8f8; border:1px solid #f8f8f8; box-shadow:0 1px 2px rgba(0,0,0,.05); height:40px; font-size:16px; }
  .woohoo .site-search input[type="search"]:focus { border-color:#999; }
  .woohoo .site-search .woocommerce-product-search { height:40px; }
  /* Live's drawer (navigation-mobile.css) is full-viewport (top:0,
     height:100%) with `transition:all .35s;transition-delay:.1s`. */
  .woohoo .col-full-nav { position:fixed; top:0; bottom:0; left:0; width:300px; max-width:85vw; height:100dvh; min-height:0; transform:translateX(-100%); transition:transform .35s ease .1s; z-index:1001; overflow:auto; padding:0 15px; background:#fff; visibility:hidden; }
  .woohoo.mobile-toggled .col-full-nav { transform:none; visibility:visible; }
  /* Live's floating white "X" (shoptimizer_mobile_menu_close(), fixed just past
     the 300px-wide drawer): the drawer covers the header row while open, so
     this and the tap-outside overlay close it. */
  .woohoo .woohoo-menu-close { position:fixed; top:40px; left:310px; z-index:1002; width:40px; height:40px; padding:0; border:0; background:none; color:#fff; visibility:hidden; opacity:0; transition:all .3s; }
  .woohoo.mobile-toggled .woohoo-menu-close { top:10px; visibility:visible; opacity:1; }
  .woohoo .woohoo-menu-close svg { display:block; width:40px; height:40px; }
  .woohoo.mobile-toggled .main-header::before,.woohoo.mobile-toggled .site-search::before { content:""; position:absolute; inset:0; z-index:1; background:rgba(52,53,55,.4); }
  html .woohoo:not(.mobile-toggled) .col-full-nav * { visibility:hidden; }
  .woohoo .menu-primary-menu-container > ul { display:block; }
  .woohoo .main-navigation { width:auto; padding-top:1rem; }
  .woohoo .main-navigation ul.menu li { display:block; }
  .woohoo .main-navigation ul.menu > li > a { display:block; padding:0.35rem 0 !important; line-height:1.5; font-size:15px; }
  .woohoo .main-navigation ul.menu ul li > a { display:block; width:calc(100% - 40px); padding:0.15rem 0 !important; line-height:1.5; font-size:14px; }
  .woohoo .main-navigation .sub-menu-wrapper { position:static; display:none; opacity:1; visibility:visible; width:auto; transform:none; padding:0 0 0 12px; box-shadow:none; }
  .woohoo .main-navigation li.dropdown-open > .sub-menu-wrapper { display:block; }
  .woohoo .main-navigation .sub-menu-wrapper .container { padding:0; }
  .woohoo .main-navigation .sub-menu { position:static; float:none; width:auto; display:block; box-shadow:none; }
  .woohoo .woohoo-submenu-toggle { top:0; width:30px; height:35px; background:#444; -webkit-mask:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat; mask:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat; }
  .woohoo .main-navigation li li .woohoo-submenu-toggle { height:27px; opacity:.5; }
  .woohoo .main-navigation li.dropdown-open > .woohoo-submenu-toggle { transform:rotate(180deg); transition:transform .4s; }
  .woohoo .site-header-cart { display:none; }
  .woohoo .woohoo-mobile-cart { display:block; position:absolute; top:16.5px; right:15px; }
  .woohoo .header-widget-region:not(.woohoo-campaign-banner) { display:none; }
  .woohoo .main-header.col-full { padding-left:15px; padding-right:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .woohoo *, .woohoo *::before,.woohoo *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
@media (min-width:993px) {
  .woohoo.single-post.post-l2 .content-area { width:76%; }
}

/* Sitewide sticky bottom login-prompt ribbon, ported from
   bimaco-site-runtime/modules/login-ribbon/assets/login-ribbon.css. */
.bimaco-login-ribbon[hidden] { display:none !important; }
.bimaco-login-ribbon { position:fixed; right:0; bottom:0; left:0; z-index:9998; background:rgba(34,34,34,0.96); box-shadow:0 -12px 34px rgba(0,0,0,0.18); color:#fff; font-family:"Aller","Segoe UI",sans-serif; }
.bimaco-login-ribbon__inner { position:relative; display:flex; align-items:center; justify-content:center; gap:18px; max-width:1180px; min-height:76px; margin:0 auto; padding:12px 54px 12px 20px; box-sizing:border-box; }
.bimaco-login-ribbon__inner p { margin:0; color:#fff; font-size:clamp(18px,2.2vw,25px); font-weight:700; line-height:1.2; }
.bimaco-login-ribbon__cta { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:48px; padding:0 26px; border:0; border-radius:4px; background:#ec008c; color:#fff; font-size:17px; font-weight:700; line-height:1; text-decoration:none; transition:background .18s ease, transform .18s ease; }
.bimaco-login-ribbon__cta:hover, .bimaco-login-ribbon__cta:focus-visible { background:#c4007a; color:#fff; outline:none; transform:translateY(-1px); }
.bimaco-login-ribbon__close { position:absolute; top:50%; right:10px; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; margin:0; padding:1px 6px; border:0; border-radius:0; background:transparent; color:rgba(255,255,255,0.72); cursor:pointer; transform:translateY(-50%); }
.bimaco-login-ribbon__close:hover, .bimaco-login-ribbon__close:focus-visible { color:#fff; outline:none; }
.bimaco-login-ribbon__close svg { display:block; width:22px; height:22px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.4; fill:none; }
@media (max-width:767px) {
  .bimaco-login-ribbon__inner { justify-content:space-between; min-height:68px; padding:10px 48px 10px 16px; }
  .bimaco-login-ribbon__inner p { font-size:18px; }
  .bimaco-login-ribbon__cta { min-height:42px; padding:0 20px; font-size:15px; }
}
@media (max-width:420px) {
  .bimaco-login-ribbon__inner p { font-size:16px; }
  .bimaco-login-ribbon__cta { min-height:42px; padding:0 16px; font-size:15px; }
}
