/** Shopify CDN: Minification failed

Line 373:9 Unexpected "and"

**/
/* CUSTOM */
a { cursor: pointer;}
h1, h2, h3, h4, h5, h6 {font-weight: unset; }
p { font-family: 'Barlow', 'Open Sans', sans-serif; font-size: 16px;}

@media screen and (max-width: 767px){
  p {
    font-size: 14px;
  }
}
/* BORDER RADIUS */
.br-10{ border-radius: 10px; }

.text-left{ text-align: left; }
.text-center{ text-align: center; }
.text-right{ text-align: right; }

.button{
  font-family: "Barlow", "Futura-Medium", Arial, sans-serif;
  text-transform: uppercase;
  padding: 8px 30px;
  border-radius: 7px;
  letter-spacing: inherit;
}
.button-secondary{ background: #DBDBDB; border-color: #DBDBDB; color: #000;  }
.button-secondary:hover{ background: transparent;  border-color: #DBDBDB !important; }

.button-disabled{ background: #DBDBDB; border-color: #DBDBDB;  color: #EA2D24; }
.button-disabled:hover{ pointer-events: none !important;  background: #DBDBDB !important; border-color: #DBDBDB !important;  color: #EA2D24 !important; }

@media screen and (max-width: 640px) {
  .section--wrapper { margin: 40px 9px; }
}

@media screen and (min-width: 641px) {
  .section--wrapper { margin: 40px; }
}

.d-none {display: none; }

.relative {position: relative; }

/* Padding */
.pb-16{ padding-bottom: 16px; }

.bold {font-weight: bold; }
.upcase{ text-transform: uppercase; }
/* Dots */
.tap-area[aria-current="true"]:after {
    background-color: #EA2D24;
    border: 1px #EA2D24 solid
}


.w-fit{ width: fit-content; }

/* MOBILE */
@media screen and (max-width: 640px) {

  /* Font sizes */
  .mfs-30{ font-size: 30px !important; }
  .mfs-28{ font-size: 24px !important; }
  .mfs-24{ font-size: 24px !important; }
  .mfs-22{ font-size: 22px !important; }
  .mfs-20{ font-size: 20px !important; }
  .mfs-18{ font-size: 18px !important; }
  .mfs-16{ font-size: 16px !important; }
  .mfs-14{ font-size: 14px !important; }
  .mfs-12{ font-size: 12px !important; }

  /* Padding X */
  .mxp-80{ padding-left: 80px; padding-right: 80px; }
  .mxp-60{ padding-left: 60px; padding-right: 60px; }
  .mxp-50{ padding-left: 50px; padding-right: 50px; }
  .mxp-20{ padding-left: 20px; padding-right: 20px; }
  .mxp-10{ padding-left: 10px; padding-right: 10px; }

  .mpb-24{ padding-bottom: 24px; }
  .mpb-32{ padding-bottom: 32px; }
  .mpb-12{ padding-bottom: 12px; }
  .mpb-10{ padding-bottom: 10px; }
  /* Padding Y */
  .myp-60{ padding-top: 60px; padding-bottom: 60px; }

  .mbr-10{ border-radius: 10px; }
}

/* Desktop */
@media screen and (min-width: 641px) {

  /* Font sizes */
  .dfs-96{ font-size: 96px !important; }
  .dfs-64{ font-size: 64px !important; }
  .dfs-40{ font-size: 40px !important; }
  .dfs-35{ font-size: 35px !important; }
  .dfs-34{ font-size: 34px !important; }
  .dfs-32{ font-size: 32px !important; }
  .dfs-30{ font-size: 30px !important; }
  .dfs-28{ font-size: 28px !important; }
  .dfs-26{ font-size: 26px !important; }
  .dfs-22{ font-size: 22px !important; }
  .dfs-20{ font-size: 20px !important; }
  .dfs-18{ font-size: 18px !important; }
  .dfs-16{ font-size: 16px !important; }
  .dfs-15{ font-size: 15px !important; }
  .dfs-14{ font-size: 14px !important; }
  .dfs-12{ font-size: 12px !important; }

  /* Padding */
  .dxp-20{ padding-left: 20px; padding-right: 20px; }
  .dxp-60{ padding-left: 60px; padding-right: 60px; }
  .dxp-80{ padding-left: 80px; padding-right: 80px; }

  .dyp-80{ padding-top: 80px; padding-bottom: 80px; }
  .dpb-64{ padding-bottom: 64px; }
  .dpb-24{ padding-bottom: 24px; }
  .dbr-20{ border-radius: 20px; }
  .dbr-10{ border-radius: 10px; }
  .dpb-16{ padding-bottom: 16px; }
}

/* PHONE */
@media only screen and (max-width: 640px) {
  .hidden-phone{ display: none; }
  .h-1{ font-size: 30px; }
}

/* TABLET */
@media only screen and (min-width: 641px) and (max-width: 1007px) {
  .hidden-tablet{ display: none; }

}

@media only screen and (min-width: 641px){
  .hidden-tablet-and-up{  display: none !important; }
}

@media only screen and (max-width: 1007px) {
  .hidden-tablet-down{ display: none !important; }
}

.text-mb-sm{ margin-bottom: 8px; }
.text-mb-lg{ margin-bottom: 16px; }
.img-text-mb-sm{ margin-bottom: 16px; }
.img-text-mb-lg{ margin-bottom: 24px; }

.text-mt-sm{ margin-top: 8px; }
.text-mt-lg{ margin-top: 16px; }
.img-text-mt-sm{ margin-top: 16px; }
.img-text-mt-lg{ margin-top: 24px; }

.h-1, .h-2{
  font-family: "Barlow", "Futura-Medium", Arial, sans-serif;
  letter-spacing: 0.02em;
}

.letter-spacing-sm{ letter-spacing: 0.02em }
.letter-spacing-md{ letter-spacing: 0.03em }
.letter-spacing-lg{ letter-spacing: 0.04em }

.section-x-spacing      { max-width: 1920px; margin: auto; }
.section-x-spacing-nopad{ max-width: 1920px; margin: auto; }

@media only screen and (min-width: 640px) {
  .mt-24{ margin-top: 42px; }
  .text-mb-sm{ margin-bottom: 16px; }
  .text-mb-lg{ margin-bottom: 24px; }
  .img-text-mb-sm{ margin-bottom: 56px; }
  .img-text-mb-lg{ margin-bottom: 56px; }

  .text-mt-sm{ margin-top: 16px; }
  .text-mt-lg{ margin-top: 24px; }
  .img-text-mt-sm{ margin-top: 56px; }
  .img-text-mt-lg{ margin-top: 56px; }

}
/* FONT SIZES  */
/* PHONE */
@media only screen and (max-width: 640px) {
  .section-pb{ padding-bottom: 88px; }
  .section-pt{ padding-top: 88px; }
  .section-mb{ margin-bottom: 88px; }
  .section-mt{ margin-top: 88px; }
  .section-x-padding-only {padding-left: 0px; padding-right: 15px; }
  .section-x-spacing{ padding-left: 32px; padding-right: 32px;  }
  .mob-no-x-spacing{ margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  .h-xl{ font-size: 30px; }
  .h-1{ font-size: 30px; }
  .h-2{ font-size: 24px; }
  .h-3{ font-size: 16px; }

  .text-1 {font-size: 20px; }
  .text-2 {font-size: 14px; }
}
/* TABLET */
@media only screen and (min-width: 641px) and (max-width: 833px) {
  .section-pb{ padding-bottom: 48px; }
  .section-pt{ padding-top: 48px; }
  .section-mb{ margin-bottom: 48px; }
  .section-mt{ margin-top: 48px; }
  .section-x-padding-only {padding-left: 32px; padding-right: 32px; }
  .section-x-spacing{ padding-left: 32px; padding-right: 32px; }
  .tablet-no-x-spacing{ margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  .h-xl{ font-size: 42px; }
  .h-1{ font-size: 30px; }
  .h-2{ font-size: 24px; }
  .h-3{ font-size: 16px; }

  .text-1 {font-size: 20px; }
  .text-2 {font-size: 24px; }
}

@media only screen and (min-width: 834px)  {
  .section-pb{ padding-bottom: 48px; }
  .section-pt{ padding-top: 48px; }
  .section-mb{ margin-bottom: 48px; }
  .section-mt{ margin-top: 48px; }
.section-x-padding-only {padding-left: 44px; padding-right: 44px; }
  .section-x-spacing{ padding-left: 44px; padding-right: 44px;}
  .h-xl{ font-size: 64px; }
  .h-1{ font-size: 42px; }
  .h-2{ font-size: 28px; }
  .h-3{ font-size: 24px; }

  .text-1 { font-size: 20px; }
  .text-2 {font-size: 24px; }
}

/* DESK */
@media only screen and (min-width: 834px) and (max-width: 1280px) {
  .desk-no-x-spacing{ margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
}

/* WIDE */
@media only screen and (min-width: 1280px) and (max-width: 1600px) {
  .wide-no-x-spacing{ margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
}


/* This is a class for a label that should occur when its input sibling is checked */
.dot-checkbox:checked + label {color: #EA2D24; }

.d-block{ display: block; }
.d-grid { display: grid; }
.d-flex-col { display: flex; flex-direction: column; }
.d-flex { display: flex; }
.items-center { align-items: center; }


.h-100{ height: 100%; }



.announcement-bar__carousel{ max-width: unset; }

/* Accordion */


.dot-checkbox{visibility: hidden; }


/* Main-Article */
.article__image+.article__wrapper {
    margin-block-start:0;
}


.w-100{width: 100%;}


/* Product page  */
.feature-badge-list { align-items: start; justify-content: space-around;}
.feature-badge-list .feature-badge { 
  display: grid;
  justify-items: center;
  row-gap: 16px; 
  max-width: 160px; /*140px;*/
  margin: auto;
  text-align: center;
  row-gap: 16px;
}
.feature-badge img{height: 30px; }
.product-info__block-item[data-block-type="text"]{
  text-align: center;
  margin-top: 0;
    padding-top: 0;
}
.feature-badge p {
    font-size: 14px;
}

 .product-info__block-item[data-block-type="buy-buttons"]{ margin-bottom: 10px; margin-left: 10px;}

@media screen and (max-width: 640px){
  .feature-badge-list{
    display: grid; 
    grid-template-columns: 1fr 1fr 1fr;
    /* display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
    margin: auto;
    justify-content: center;
    align-items: center; */
  }  
}

@media screen and (min-width: 1000px) and (max-width: 1430px){
    .feature-badge-list{
    /* display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
    margin: auto;
    justify-content: center;
    align-items: center; */
  }  
}


/* Card drawer */
.drawer::part(header), .drawer::part(body), .drawer::part(footer) { border-block-start: unset !important; border-block-end: unset !important; }
.free-shipping-bar { border: none; }
.cart-drawer__items .line-item {
  position: relative;
  padding-bottom: 15px;
}

.cart-drawer__items .line-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 1px;
  background-color: #D8D8D8
}

.cart-drawer__items .line-item:last-child::after {
  content: none;
}

.noopacity{ opacity: 0; }

.section-header { margin-left: 0; }


/* Blog post card  */
.blog-post-card__image{ border-radius: 10px; }

/* Product card */

.product-card-wishlist{
  position: absolute;
  right: 11px;
  top: 5px;
  z-index: 2;
}

.product-card__figure > .badge-list {
  inset-block-start: 5px;
  inset-inline-start: 5px;
}

  .prod-card-meta, .prod-card-meta-title, .prod-card-meta-desc { font-size: 14px; }
  @media and (min-width: 640px){
    .prod-card-meta{ font-size: 15px; }
  }
  /* .product-card__media{ background: #FAF9F7; border-radius: 10px; } */
  .prod-card-meta-title{  margin-right: 5px; }

  .product-item-details{
    display: flex; justify-content: space-between; width: 100%; flex-wrap: wrap; column-gap: 1em; align-items: baseline;
  }
  .product-item-details > a{
    /* white-space: nowrap; */
    overflow: hidden;
    max-width: 66%;
    /* text-overflow: ellipsis; */
    width: 100%;

  }
  .product-card__media{ position: relative;}
  .product-card__media > img{ border-radius: 10px; }
  /* .product-card-price-wrapper{ display: grid; align-items: center; } */
  .card-mobile-price{ position: absolute; bottom: 4px; left: 8px;    z-index: 1; }

.product-card-badges {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  z-index: 2;
}

/* Badges */
.badge{
  border-radius: 5px;
  background: #FFF;
  color: #EA2D24;
  text-transform: capitalize;
  font-size: 13px;
  font-family: "Barlow-500", "Futura-Medium", Arial, sans-serif !important;
  border: 1px solid #FFF;
  border: 1px solid #EA2D24;
}

.badge--sold-out{ border: 1px solid #ea2d24;  }
.badge-customise{ background: #EA2D24; color: #FFF; }


.product-card__figure .smartwishlist {color: #EA2D24 !important; }


/* Product page */

  .product-inner-wrapper { position: relative; }
  .product-inner-wrapper > .badge-list{ 
    position: absolute;
    z-index: 2;
    top: 10px;
    left: 10px;
   }

  .PwzrGrid-root img {border-radius: 5px; }

/* Product info */
.block-swatch {
  --swatch-border-size: 1px;
  --swatch-padding: calc(var(--input-padding-block)  - var(--swatch-border-size) * 2) .875rem;
  --swatch-disabled-strike-color: unset;
  padding: var(--swatch-padding);
  min-width: 2.5rem;
  border-width: var(--swatch-border-size);
  border-radius: var(--input-border-radius);
  color: #333;
  justify-content: center;
  align-items: center;
  column-gap: .875rem;
  display: flex;
  position: relative;
}



:checked + .block-swatch, .block-swatch.is-selected {
  --swatch-disabled-strike-color: unset;
  color: #FFF;
  border-color: #EA2D24;
  background: #EA2D24;
}

.block-swatch.is-disabled {
  color: #C4C4C4;
  border-color: #C4C4C4;
  background: unset !important;
  pointer-events: none;
}

:disabled + .block-swatch:before, .block-swatch.is-disabled:before {
  content: "";
  pointer-events: none;
  background: linear-gradient(to bottom right, transparent calc(50% - .5px), var(--swatch-disabled-strike-color) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px));
  position: absolute;
  inset: 0;
}

:focus-visible + .block-swatch {
  outline-offset: 2px;
}

.block-swatch__color {
  width: 1rem;
  height: 1rem;
  background: var(--swatch-background) center / cover;
}


.pwzrswiper-pagination-bullet{
  width: 13px !important;
  height: 13px !important;
  margin: 3px 8px !important;
  background: unset !important;
  border: 1px solid #333 !important;
}




.pwzrswiper-pagination-bullets{ margin-top: 35px !important; }

.pwzrswiper-pagination-bullet-active{ 
  background: #EA2D24 !important; 
  border: 1px solid #EA2D24 !important;
}

.product { gap: 0; }

:disabled + .color-swatch:before, .color-swatch.is-disabled:before {
  display: none;
}


/* Collection page */
.animated-plus {color: #000; }
.clear-filters{ color: #808080; background: none;}
.clear-filters-panel{ color: #000; background: none; font-size: 14px;}
.removable-facet{ border-radius: 5px; padding: 6px; background: #FAF9F7; column-gap: 12px;   border: none;}

@media screen and (max-width: 640px){
  .clear-filters{ font-size: 12px; }
  .removable-facet{ font-size: 12px; }
}

.accordion-list .facet-accordion-summary {
  border-top: 1px solid #C4C4C4; 
}

.facets .accordion-list .accordion:first-child .facet-accordion-summary { border-top: none !important;} 

@media screen and (max-width: 1000px){
  .facet-accordion-summary .accordion__toggle  { position: relative;  }
  .facet-accordion-summary .accordion__toggle .animated-plus{
    position: absolute;
    margin: auto;
    top: 0; bottom: 0;
    right: 0;
    /* inset: 0; */
    /* left: 70px; */
  }
}
.facet-accordion-colour .accordion__content > div{ gap: 13px; }
.animated-plus:before {  width: 12px; }
.animated-plus:after { height: 12px; }


/* Cart */
.cart-drawer__items img { border-radius: 5px; }
/* addtional */
#shopify-section-sections--22249977970984__rich_text_EqgXHX .prose div p{
  letter-spacing: 0.02em;
  font-family: Futura, sans-serif !important;
  font-size: calc(0.75rem * var(--text-heading-size-factor));
}

@media(max-width: 640px){
  .collection-nav-banner > ul{
    display: flex !important;
    flex-wrap: nowrap!important;
    overflow-y: hidden;
    overflow-x: scroll;
    padding-bottom: 8px!important;
  }
}

/* CSS ADDED ON 19 SEPT, 2024  */
#cart-drawer .free-cart .line-item-info .form-control{
  cursor: pointer;
}
#cart-drawer .free-cart .line-item-info .form-control select{
  padding-top: 8px;
  padding-bottom: 8px;
}
#cart-drawer .free-cart .line-item-info .form-control svg.icon-dropdown-chevron{
  pointer-events: none;
}

[data-title="Top Categories"] .mega-menu{
       justify-content: center;
}

.header {
    background: #ee1c25 !important;
    color: #fff;
}

compare-at-price.dfs-16.mfs-14 {
  color: #a1a1a1;
}
.badge-list:not(.badge-list--vertical) .badge {
  border-radius: 20px;
  padding: 5px 10px;
}

.media-swatch-material,
label.media-swatch {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.designer-badge {
  display: inline-block;
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 4px;
  text-decoration: none !important;
  text-align: center;
  color: #ffffff;
  background: #9a9a9a;
  white-space: nowrap;
}

.designer-badge--selected {
  background: #EA2D24;
}

.material-image-wrapper {
  position: relative;
  padding: 3px;
  border: 1px solid #c9c9c9;
}

.media-swatch-material.is-selected .material-image-wrapper {
  border: 2px solid #EA2D24;
}

.variant-picker .block-swatch {
  font-weight: 700;
}

/* [ED Dev] Personalise-label popup (product-upsell-popup / -custom): while the
   popup is open, document.body gets .custom-fixed-util (scroll lock). Both the
   sticky header and sticky collection-tabs nav have very high z-index values
   that otherwise render on top of the popup content, so hide them for the
   duration the popup is open. They resume normal sticky-on-scroll behaviour
   as soon as the popup closes and the class is removed. */
body.custom-fixed-util .shopify-section--header,
body.custom-fixed-util .shopify-section--collection-tabs,
body.custom-fixed-util .shopify-section--announcement-bar {
  display: none !important;
}

/* [ED Dev] Sticky header/announcement-bar/collection-tabs-nav must never
   cover the cart drawer, native popovers/modals, or third-party overlays
   (e.g. the Klaviyo on-load popup, which was getting clipped by the sticky
   header at <=1280px viewport heights). Cap the header group's z-index
   permanently (not just while the cart drawer is open) so it stays visible
   -- just always stacked below any overlay -- instead of hiding it, which
   is what the previous display:none version of this rule did.
   Header/announcement-bar sit ABOVE collection-tabs-nav (30 > 20) so the
   header's own nav dropdowns (e.g. the "Personalise" flyout) always render
   over the tabs nav instead of being covered by it. */
.shopify-section--header,
.shopify-section--announcement-bar {
  z-index: 30 !important;
}

.shopify-section--collection-tabs {
  z-index: 20 !important;
}

/* Drawer/modal/popover (cart drawer, quick-add, search, etc.) must always
   win against the header group above. */
:where(.modal, .drawer, .popover, .header-search) {
  z-index: 9999 !important;
}

/* [ED Dev] .product-sticky-bar (Add to Cart bar) is hidden behind
   collection-tabs-nav on tablet/desktop because --sticky-area-height's
   dynamic collection-tabs-nav contribution doesn't reliably apply in
   practice (same root issue as the collection-toolbar/facets-sidebar
   fixes above, which needed hardcoded px values instead of the dynamic
   var too). Restoring the original margin-top value that was verified
   working. Scoped to tablet/desktop only -- mobile keeps its existing
   bottom-fixed styling untouched. */
@media screen and (min-width: 700px) {
  .product-sticky-bar {
    margin-top: 5.25em;
    border-top: 1px solid #efefef;
  }
}

/* [ED Dev] .facets-sidebar (Colour/Dog size/Price filter accordion on
   collection pages) is positioned by the <safe-sticky> custom element,
   which snapshots its "top" value via JS once on load and then overrides
   it with an inline style from then on -- it does NOT react live to
   --collection-tabs-height changing afterwards. If collection-tabs-nav's
   height-observer hasn't reported a real height by the time safe-sticky
   takes its snapshot (a page-load race condition), the sidebar ends up
   positioned slightly too high and its first filter group (e.g. "Price")
   renders underneath collection-tabs-nav. Widening the fixed buffer here
   (20px -> 100px) guarantees clearance even when that race condition
   happens, at the cost of a bit of extra gap when it doesn't. */
@media screen and (min-width: 1000px) {
  .facets-sidebar {
    top: calc(var(--sticky-area-height) + var(--collection-toolbar-height, 0px) + 100px) !important;
  }
}

/* [ED Dev] .collection-toolbar (Filter/Sort buttons + grid-layout-switch
   icons) sticks at top: var(--sticky-area-height), directly below
   collection-tabs-nav. In practice its icons still render partially
   underneath collection-tabs-nav on scroll -- same family of issue as the
   facets-sidebar fix above, so applying the same style of safety margin
   plus a z-index bump so the toolbar wins any pixel-level overlap instead
   of being covered by it. Values verified live in DevTools per breakpoint
   (mobile/tablet header height differs from desktop's). */
.collection-toolbar {
  inset-block-start: 193px !important;
  z-index: 15 !important;
}

@media screen and (min-width: 1000px) {
  .collection-toolbar {
    inset-block-start: 212px !important;
  }
}
