/* Maverick Bags v3.2.0 — responsive, interaction and colour integrity layer.
 * Blocksy remains the owner of header rows, sticky behaviour and navigation.
 * Maverick only skins its cart/quote launcher and cart content.
 */

/* -----------------------------
   Brand button contract
   ----------------------------- */
.maverick-bags-final .mb-button,
.maverick-bags-final .mb-button-secondary,
.maverick-bags-final .mb-button-outline,
.maverick-bags-final .mb-text-button,
.maverick-bags-final button,
.maverick-bags-final input[type="submit"]{
  -webkit-tap-highlight-color:transparent;
}

/* White buttons always have dark text. On white/light page surfaces their hover is Maverick emerald, never white. */
.maverick-bags-final .mb-button-outline,
.maverick-bags-final .mb-button-secondary,
.maverick-bags-final .mb-white-button,
.maverick-bags-final .is-style-outline .mb-button{
  background:var(--mb-white,#FFFFFF)!important;
  color:var(--mb-emerald,#173B33)!important;
  border-color:var(--mb-emerald,#173B33)!important;
}
.maverick-bags-final .mb-button-outline:hover,
.maverick-bags-final .mb-button-outline:focus-visible,
.maverick-bags-final .mb-button-secondary:hover,
.maverick-bags-final .mb-button-secondary:focus-visible,
.maverick-bags-final .mb-white-button:hover,
.maverick-bags-final .mb-white-button:focus-visible,
.maverick-bags-final .is-style-outline .mb-button:hover,
.maverick-bags-final .is-style-outline .mb-button:focus-visible{
  background:var(--mb-emerald,#173B33)!important;
  color:var(--mb-white,#FFFFFF)!important;
  border-color:var(--mb-emerald,#173B33)!important;
}

/* Explicit white-background action buttons outside the dark cart panel. */
.maverick-bags-final .mb-card-actions .mb-button-outline:hover,
.maverick-bags-final .mb-shop-card-actions .mb-button-outline:hover,
.maverick-bags-final .mb-carousel-card-actions .mb-button-outline:hover{
  background:var(--mb-emerald,#173B33)!important;
  color:var(--mb-white,#FFFFFF)!important;
  border-color:var(--mb-emerald,#173B33)!important;
}

/* -----------------------------
   Sticky Blocksy cart count
   ----------------------------- */
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-header-cart .ct-dynamic-count-cart,
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-header-cart .ct-dynamic-count-cart,
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-cart-item-count,
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-cart-item-count,
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-header-cart [data-count],
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-header-cart [data-count]{
  background:#FFFFFF!important;
  color:#173B33!important;
  -webkit-text-fill-color:#173B33!important;
  border-color:#FFFFFF!important;
}
body.maverick-bags-final .ct-header-cart .ct-dynamic-count-cart{
  color:#173B33!important;
  -webkit-text-fill-color:#173B33!important;
}

/* -----------------------------
   Consistent keyboard focus
   ----------------------------- */
.maverick-bags-final a:focus-visible,
.maverick-bags-final button:focus-visible,
.maverick-bags-final input:focus-visible,
.maverick-bags-final select:focus-visible,
.maverick-bags-final textarea:focus-visible,
.maverick-bags-final summary:focus-visible,
.maverick-bags-final [tabindex]:focus-visible{
  outline:3px solid #4F8B8D!important;
  outline-offset:3px!important;
}

/* Do not let a sticky/overlay surface hide focused controls. */
.maverick-bags-final :is(a,button,input,select,textarea,summary){scroll-margin-top:120px;}

/* Carousel dots/arrows need an actual visible focus state. */
.maverick-bags-final .mb-carousel-dot:focus-visible,
.maverick-bags-final .mb-carousel-arrow:focus-visible{
  outline:3px solid #FFFFFF!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px rgba(79,139,141,.85)!important;
}
.maverick-bags-final .mb-carousel-arrow[disabled],
.maverick-bags-final .mb-carousel-arrow[aria-disabled="true"]{
  opacity:.42!important;
  cursor:not-allowed!important;
}

/* -----------------------------
   Quote accordions
   ----------------------------- */
.maverick-bags-final .mb-quote-accordion>summary b{white-space:normal;text-align:right;}
.maverick-bags-final .mb-quote-accordion>summary strong{color:var(--mb-emerald,#173B33);}
.maverick-bags-final .mb-quote-accordion[open]>summary{border-bottom-color:var(--mb-border,#D9E5DF);}

/* -----------------------------
   Cart / flyout responsive integrity
   ----------------------------- */
body.maverick-bags-final .ct-cart-content{max-width:min(440px,calc(100vw - 20px))!important;}
body.maverick-bags-final .ct-cart-content .woocommerce-mini-cart__buttons{width:100%!important;}
@media(max-width:767px){
  body.maverick-bags-final .ct-header-cart .ct-cart-item-link,
  body.maverick-bags-final .ct-header-cart>a,
  body.maverick-bags-final .ct-header-cart>button,
  body.maverick-bags-final .ct-header-cart>[role="button"]{
    min-height:42px!important;
    max-width:100%!important;
  }
  body.maverick-bags-final .ct-cart-content{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin-inline:8px!important;
    border-radius:12px!important;
  }
  body.maverick-bags-final .ct-cart-content .woocommerce-mini-cart__buttons{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;}
  body.maverick-bags-final .ct-cart-content .woocommerce-mini-cart__buttons>a,
  body.maverick-bags-final .ct-cart-content .woocommerce-mini-cart__buttons>button{width:100%!important;min-width:0!important;flex:none!important;}
}
@media(max-width:374px){
  body.maverick-bags-final .ct-header-cart .ct-cart-item-link,
  body.maverick-bags-final .ct-header-cart>a,
  body.maverick-bags-final .ct-header-cart>button,
  body.maverick-bags-final .ct-header-cart>[role="button"]{font-size:12px!important;padding-left:9px!important;padding-right:9px!important;}
  body.maverick-bags-final .ct-cart-content{width:calc(100vw - 10px)!important;max-width:calc(100vw - 10px)!important;margin-inline:5px!important;}
}

/* -----------------------------
   Form overflow protection at narrow widths
   ----------------------------- */
@media(max-width:430px){
  .maverick-bags-final .mb-form-grid,
  .maverick-bags-final .mb-review-details-grid{grid-template-columns:minmax(0,1fr)!important;}
  .maverick-bags-final .mb-wizard-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  .maverick-bags-final .mb-wizard-actions .mb-button{width:100%!important;min-width:0!important;}
  .maverick-bags-final .mb-quote-accordion>summary{padding:14px!important;gap:10px!important;}
  .maverick-bags-final .mb-quote-accordion>summary b{font-size:10px!important;max-width:42%;}
}

/* Respect reduced motion. */
@media(prefers-reduced-motion:reduce){
  .maverick-bags-final *,
  .maverick-bags-final *::before,
  .maverick-bags-final *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

/* -----------------------------
   Final Maverick button contract
   ----------------------------- */
.maverick-bags-final a.button,
.maverick-bags-final button.button,
.maverick-bags-final input.button,
.maverick-bags-final input[type="submit"].button{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  border-radius:7px!important;
  background:var(--mb-emerald,#173B33)!important;
  color:var(--mb-white,#FFFFFF)!important;
  border:1px solid var(--mb-emerald,#173B33)!important;
  text-decoration:none!important;
  font-weight:700!important;
}
.maverick-bags-final a.button:hover,
.maverick-bags-final a.button:focus-visible,
.maverick-bags-final button.button:hover,
.maverick-bags-final button.button:focus-visible,
.maverick-bags-final input.button:hover,
.maverick-bags-final input.button:focus-visible,
.maverick-bags-final input[type="submit"].button:hover,
.maverick-bags-final input[type="submit"].button:focus-visible{
  background:var(--mb-black,#000000)!important;
  color:var(--mb-white,#FFFFFF)!important;
  border-color:var(--mb-black,#000000)!important;
}
/* Secondary / white controls are always dark-on-white at rest and emerald-on-hover. */
.maverick-bags-final a.mb-button-secondary,
.maverick-bags-final button.mb-button-secondary,
.maverick-bags-final a.mb-button-outline,
.maverick-bags-final button.mb-button-outline,
.maverick-bags-final a.mb-white-button,
.maverick-bags-final button.mb-white-button{
  background:#FFFFFF!important;
  color:#173B33!important;
  border-color:#173B33!important;
  -webkit-text-fill-color:#173B33!important;
}
.maverick-bags-final a.mb-button-secondary:hover,
.maverick-bags-final a.mb-button-secondary:focus-visible,
.maverick-bags-final button.mb-button-secondary:hover,
.maverick-bags-final button.mb-button-secondary:focus-visible,
.maverick-bags-final a.mb-button-outline:hover,
.maverick-bags-final a.mb-button-outline:focus-visible,
.maverick-bags-final button.mb-button-outline:hover,
.maverick-bags-final button.mb-button-outline:focus-visible,
.maverick-bags-final a.mb-white-button:hover,
.maverick-bags-final a.mb-white-button:focus-visible,
.maverick-bags-final button.mb-white-button:hover,
.maverick-bags-final button.mb-white-button:focus-visible{
  background:#173B33!important;
  color:#FFFFFF!important;
  border-color:#173B33!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
/* -----------------------------
   Blocksy cart count: two distinct states
   Initial header = white number.
   Sticky header = emerald number on white bubble.
   ----------------------------- */
body.maverick-bags-final .ct-header:not([data-sticky="yes"]):not([data-sticky="yes:shrink"]) .ct-header-cart .ct-dynamic-count-cart,
body.maverick-bags-final .ct-header:not([data-sticky="yes"]):not([data-sticky="yes:shrink"]) .ct-header-cart .ct-cart-item-count,
body.maverick-bags-final .ct-header:not([data-sticky="yes"]):not([data-sticky="yes:shrink"]) .ct-header-cart .ct-cart-item-count *{
  background:#173B33!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:#173B33!important;
}
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-header-cart .ct-dynamic-count-cart,
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-header-cart .ct-dynamic-count-cart,
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-header-cart .ct-cart-item-count,
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-header-cart .ct-cart-item-count,
body.maverick-bags-final .ct-header[data-sticky="yes"] .ct-header-cart .ct-cart-item-count * ,
body.maverick-bags-final .ct-header[data-sticky="yes:shrink"] .ct-header-cart .ct-cart-item-count *{
  background:#FFFFFF!important;
  color:#173B33!important;
  -webkit-text-fill-color:#173B33!important;
  border-color:#FFFFFF!important;
}

/* Carousel action buttons: View Product remains white/emerald; commerce actions remain emerald/white. */
.maverick-bags-final .mb-carousel-add-cart,
.maverick-bags-final .mb-carousel-add-quote{
  background:#173B33!important;
  color:#FFFFFF!important;
  border-color:#173B33!important;
}
.maverick-bags-final .mb-carousel-add-cart:hover,
.maverick-bags-final .mb-carousel-add-cart:focus-visible,
.maverick-bags-final .mb-carousel-add-quote:hover,
.maverick-bags-final .mb-carousel-add-quote:focus-visible{
  background:#000000!important;
  color:#FFFFFF!important;
  border-color:#000000!important;
}
.maverick-bags-final .mb-carousel-view,
.maverick-bags-final .mb-carousel-options{
  background:#FFFFFF!important;
  color:#173B33!important;
  border-color:#173B33!important;
}
.maverick-bags-final .mb-carousel-view:hover,
.maverick-bags-final .mb-carousel-view:focus-visible,
.maverick-bags-final .mb-carousel-options:hover,
.maverick-bags-final .mb-carousel-options:focus-visible{
  background:#173B33!important;
  color:#FFFFFF!important;
  border-color:#173B33!important;
}

.maverick-bags-final a.button *,
.maverick-bags-final button.button *,
.maverick-bags-final input.button *,
.maverick-bags-final .mb-button-secondary *,
.maverick-bags-final .mb-button-outline *{color:currentColor!important;-webkit-text-fill-color:currentColor!important;}
