
/* =========================================================
   ALL MINDS CLUB
   SHOP / PRODUCT ARCHIVE SYSTEM 1.0.0
   ========================================================= */


/* ---------------------------------------------------------
   ARCHIVE PAGE FRAME
   --------------------------------------------------------- */

.post-type-archive-product .amc-site-main,
.tax-product_cat .amc-site-main{
  padding-top:0!important;
}

.post-type-archive-product
.amc-site-main > .amc-container,
.tax-product_cat
.amc-site-main > .amc-container{
  width:min(
    1240px,
    calc(100% - 56px)
  );
}


/* ---------------------------------------------------------
   REMOVE ARCHIVE-ONLY PRODUCT BADGE
   Free delivery is already communicated globally.
   --------------------------------------------------------- */

.post-type-archive-product
.amc-card-badge,
.tax-product_cat
.amc-card-badge{
  display:none!important;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.amc-shop-hero{
  position:relative;

  left:50%;

  width:100vw;

  margin-left:-50vw;
  margin-bottom:34px;

  overflow:hidden;

  padding:58px 0 34px;

  background:#0F1F3A;

  color:#fff;
}

.amc-shop-hero__inner{
  position:relative;

  z-index:2;

  width:min(
    1240px,
    calc(100% - 72px)
  );

  margin:0 auto;
}

.amc-shop-hero__copy{
  max-width:820px;
}

.amc-shop-eyebrow{
  margin:0 0 12px;

  color:#78B8B1;

  font-size:12px;
  font-weight:850;

  letter-spacing:.15em;

  text-transform:uppercase;
}

.amc-shop-hero h1{
  max-width:850px;

  margin:0;

  color:#fff;

  font-size:
    clamp(40px,4.5vw,62px);

  line-height:1.02;

  letter-spacing:-.045em;
}

.amc-shop-intro{
  max-width:760px;

  margin:
    20px 0 0;

  color:#D9E4E1;

  font-size:18px;
  line-height:1.58;
}


/* ---------------------------------------------------------
   HERO MOTIFS
   --------------------------------------------------------- */

.amc-shop-hero__motifs{
  position:absolute;

  inset:0;

  pointer-events:none;
}

.amc-shop-orb{
  position:absolute;

  display:block;

  border-radius:50%;
}

.amc-shop-orb--teal{
  width:190px;
  height:190px;

  top:-115px;
  left:-75px;

  background:#3A7F7B;

  opacity:.16;
}

.amc-shop-orb--mustard{
  width:32px;
  height:32px;

  top:55px;
  right:17%;

  background:#D6A22E;

  opacity:.92;
}

.amc-shop-orb--coral{
  width:65px;
  height:65px;

  right:6%;
  bottom:-22px;

  background:#E07A5F;

  opacity:.55;
}

.amc-shop-line{
  position:absolute;

  display:block;

  width:42%;
  height:90px;

  right:-4%;

  border-top:
    2px solid currentColor;

  border-radius:50%;

  opacity:.22;
}

.amc-shop-line--one{
  bottom:-15px;

  color:#3A7F7B;

  transform:rotate(-5deg);
}

.amc-shop-line--two{
  right:3%;
  bottom:-38px;

  color:#D6A22E;

  transform:rotate(-6deg);
}


/* ---------------------------------------------------------
   COLLECTION CHIPS
   --------------------------------------------------------- */

.amc-shop-chips{
  display:flex;

  flex-wrap:wrap;

  gap:9px;

  margin-top:27px;
}

.amc-shop-chip{
  display:inline-flex;

  min-height:40px;

  padding:0 15px;

  align-items:center;
  justify-content:center;

  border:
    1px solid rgba(255,255,255,.25);

  border-radius:999px;

  color:#fff!important;

  font-size:13px;
  font-weight:800;

  text-decoration:none!important;

  transition:
    background .17s ease,
    border-color .17s ease,
    color .17s ease;
}

.amc-shop-chip:hover{
  border-color:#D6A22E;

  background:
    rgba(214,162,46,.12);
}

.amc-shop-chip.is-active{
  border-color:#D6A22E;

  background:#D6A22E;

  color:#0F1F3A!important;
}


/* ---------------------------------------------------------
   BUNDLE STRIP
   --------------------------------------------------------- */

.amc-shop-bundle{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap:32px;

  margin-top:34px;
  padding:19px 21px;

  align-items:center;

  border:
    1px solid rgba(255,255,255,.13);

  border-radius:14px;

  background:
    rgba(255,255,255,.06);
}

.amc-shop-bundle__copy{
  min-width:0;
}

.amc-shop-bundle__copy > span{
  display:block;

  margin-bottom:3px;

  color:#E4B34B;

  font-size:10.5px;
  font-weight:850;

  letter-spacing:.13em;

  text-transform:uppercase;
}

.amc-shop-bundle__copy strong{
  display:block;

  color:#fff;

  font-family:
    Manrope,
    Inter,
    sans-serif;

  font-size:17px;
  line-height:1.3;
}

.amc-shop-bundle__copy p{
  margin:
    3px 0 0;

  color:#CAD8D4;

  font-size:13px;
}

.amc-shop-bundle__tiers{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(92px,1fr));

  gap:8px;
}

.amc-shop-bundle__tiers > div{
  min-width:100px;

  padding:
    10px 12px;

  border:
    1px solid rgba(255,255,255,.12);

  border-radius:9px;

  background:
    rgba(255,255,255,.07);

  text-align:center;
}

.amc-shop-bundle__tiers b,
.amc-shop-bundle__tiers span{
  display:block;
}

.amc-shop-bundle__tiers b{
  color:#fff;

  font-size:12px;
}

.amc-shop-bundle__tiers span{
  margin-top:1px;

  color:#8FD0C6;

  font-size:11px;
  font-weight:800;
}


/* ---------------------------------------------------------
   TOOLBAR
   --------------------------------------------------------- */

.amc-shop-toolbar{
  display:flex;

  min-height:58px;

  margin-bottom:24px;

  align-items:center;
  justify-content:space-between;

  gap:22px;

  border-bottom:
    1px solid rgba(15,31,58,.11);
}

.amc-shop-count{
  color:#596678;

  font-size:14px;
}

.amc-shop-count strong{
  color:#0F1F3A;

  font-size:15px;
  font-weight:850;
}

.amc-shop-sort{
  display:flex;

  align-items:center;

  gap:10px;
}

.amc-shop-sort__label{
  color:#5B6878;

  font-size:13px;
  font-weight:750;
}

.amc-shop-sort
.woocommerce-ordering{
  margin:0!important;
}

.amc-shop-sort
select.orderby{
  min-width:180px;
  min-height:42px;

  padding:
    0 38px 0 13px;

  border:
    1px solid #CCD3D9;

  border-radius:9px;

  background-color:#fff;

  color:#0F1F3A;

  font-family:
    Inter,
    sans-serif;

  font-size:13px;
  font-weight:700;
}


/* ---------------------------------------------------------
   PRODUCT GRID
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products,
.tax-product_cat
.woocommerce ul.products{
  display:grid!important;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:
    28px 22px!important;

  margin:0!important;
  padding:0!important;
}

.post-type-archive-product
.woocommerce ul.products::before,
.post-type-archive-product
.woocommerce ul.products::after,
.tax-product_cat
.woocommerce ul.products::before,
.tax-product_cat
.woocommerce ul.products::after{
  display:none!important;
}

.post-type-archive-product
.woocommerce ul.products li.product,
.tax-product_cat
.woocommerce ul.products li.product{
  display:flex!important;

  float:none!important;

  width:auto!important;
  min-width:0;
  height:100%;

  margin:0!important;
  padding:
    13px 13px 16px!important;

  flex-direction:column;

  border:
    1px solid rgba(15,31,58,.12)!important;

  border-radius:15px!important;

  background:#fff;

  box-shadow:
    0 6px 20px rgba(15,31,58,.055)!important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.post-type-archive-product
.woocommerce ul.products li.product:hover,
.tax-product_cat
.woocommerce ul.products li.product:hover{
  transform:
    translateY(-3px);

  border-color:
    rgba(58,127,123,.32)!important;

  box-shadow:
    0 13px 30px rgba(15,31,58,.095)!important;
}


/* Brand accent without a promotional badge. */

.post-type-archive-product
.woocommerce ul.products
li.product:nth-child(4n+1),
.tax-product_cat
.woocommerce ul.products
li.product:nth-child(4n+1){
  border-top:
    3px solid #3A7F7B!important;
}

.post-type-archive-product
.woocommerce ul.products
li.product:nth-child(4n+2),
.tax-product_cat
.woocommerce ul.products
li.product:nth-child(4n+2){
  border-top:
    3px solid #D6A22E!important;
}

.post-type-archive-product
.woocommerce ul.products
li.product:nth-child(4n+3),
.tax-product_cat
.woocommerce ul.products
li.product:nth-child(4n+3){
  border-top:
    3px solid #E07A5F!important;
}

.post-type-archive-product
.woocommerce ul.products
li.product:nth-child(4n+4),
.tax-product_cat
.woocommerce ul.products
li.product:nth-child(4n+4){
  border-top:
    3px solid #0F1F3A!important;
}


/* ---------------------------------------------------------
   PRODUCT IMAGE
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product a img,
.tax-product_cat
.woocommerce ul.products
li.product a img{
  width:100%;

  aspect-ratio:1 / 1;

  margin:
    0 0 14px!important;

  object-fit:cover;

  border-radius:10px!important;
}


/* ---------------------------------------------------------
   TITLE
   Preserve complete actual product title;
   visually clamp archive cards to two lines.
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_cat
.woocommerce ul.products
li.product
.woocommerce-loop-product__title{
  display:-webkit-box;

  min-height:43px;

  margin:
    0 0 8px!important;

  padding:0!important;

  overflow:hidden;

  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;

  line-clamp:2;

  color:#0F1F3A!important;

  font-size:15.75px!important;
  font-weight:780!important;
  line-height:1.34!important;
}


/* ---------------------------------------------------------
   PRICE
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.price,
.tax-product_cat
.woocommerce ul.products
li.product
.price{
  display:block;

  margin:
    0 0 14px!important;

  color:#0F1F3A!important;

  font-size:15px!important;
  font-weight:850!important;
  line-height:1.25;
}


/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.button,
.tax-product_cat
.woocommerce ul.products
li.product
.button{
  display:flex!important;

  width:100%;

  min-height:45px!important;

  margin:
    auto 0 0!important;

  padding:
    10px 12px!important;

  align-items:center;
  justify-content:center;

  border-radius:9px!important;

  background:#0F1F3A!important;

  color:#fff!important;

  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.2!important;

  text-align:center;
}

.post-type-archive-product
.woocommerce ul.products
li.product
.button:hover,
.tax-product_cat
.woocommerce ul.products
li.product
.button:hover{
  background:#3A7F7B!important;
}


/* ---------------------------------------------------------
   PAGINATION
   --------------------------------------------------------- */

.woocommerce nav.woocommerce-pagination{
  margin:
    48px 0 20px;
}

.woocommerce nav.woocommerce-pagination ul{
  display:flex;

  justify-content:center;

  gap:8px;

  border:0!important;
}

.woocommerce nav.woocommerce-pagination ul li{
  float:none!important;

  border:0!important;
}

.woocommerce
nav.woocommerce-pagination
ul
li
a,
.woocommerce
nav.woocommerce-pagination
ul
li
span{
  display:grid;

  width:42px;
  height:42px;

  padding:0!important;

  place-items:center;

  border:
    1px solid rgba(15,31,58,.15);

  border-radius:9px;

  background:#fff;

  color:#0F1F3A;

  font-size:13px;
  font-weight:800;
}

.woocommerce
nav.woocommerce-pagination
ul
li
span.current{
  border-color:#0F1F3A;

  background:#0F1F3A;

  color:#fff;
}

.woocommerce
nav.woocommerce-pagination
ul
li
a:hover{
  border-color:#3A7F7B;

  background:#E7F0ED;

  color:#215D59;
}


/* ---------------------------------------------------------
   REASSURANCE
   --------------------------------------------------------- */

.amc-shop-reassurance{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:12px;

  margin:
    48px 0 10px;
}

.amc-shop-reassurance > div{
  position:relative;

  display:grid;

  grid-template-columns:
    30px 1fr;

  padding:
    18px 19px;

  column-gap:11px;

  border:
    1px solid rgba(15,31,58,.10);

  border-radius:12px;

  background:#fff;
}

.amc-shop-reassurance
> div > span{
  grid-row:
    1 / span 2;

  display:grid;

  width:30px;
  height:30px;

  place-items:center;

  border-radius:50%;

  background:#E3EEEA;

  color:#286A66;

  font-size:13px;
  font-weight:900;
}

.amc-shop-reassurance strong{
  color:#0F1F3A;

  font-size:13.5px;
  line-height:1.25;
}

.amc-shop-reassurance small{
  margin-top:2px;

  color:#697585;

  font-size:11.5px;
}


/* ---------------------------------------------------------
   ACCESSIBILITY
   --------------------------------------------------------- */

.amc-shop-chip:focus-visible,
.amc-shop-sort select:focus-visible,
.post-type-archive-product
.woocommerce ul.products
li.product
.button:focus-visible,
.tax-product_cat
.woocommerce ul.products
li.product
.button:focus-visible,
.woocommerce
nav.woocommerce-pagination
a:focus-visible{
  outline:
    3px solid #D6A22E!important;

  outline-offset:3px!important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:1050px){

  .post-type-archive-product
  .woocommerce ul.products,
  .tax-product_cat
  .woocommerce ul.products{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }

  .amc-shop-bundle{
    grid-template-columns:1fr;

    gap:16px;
  }

  .amc-shop-bundle__tiers{
    max-width:430px;
  }

}


/* ---------------------------------------------------------
   MOBILE / SMALL TABLET
   --------------------------------------------------------- */

@media(max-width:760px){

  .post-type-archive-product
  .amc-site-main > .amc-container,
  .tax-product_cat
  .amc-site-main > .amc-container{
    width:min(
      100% - 24px,
      1240px
    );
  }

  .amc-shop-hero{
    padding:
      46px 0 28px;
  }

  .amc-shop-hero__inner{
    width:
      min(
        100% - 28px,
        1240px
      );
  }

  .amc-shop-hero h1{
    font-size:40px;
  }

  .amc-shop-intro{
    font-size:16px;
  }

  .amc-shop-toolbar{
    align-items:flex-start;

    flex-direction:column;

    padding-bottom:16px;
  }

  .amc-shop-sort{
    width:100%;
  }

  .amc-shop-sort
  .woocommerce-ordering{
    width:100%;
  }

  .amc-shop-sort
  select.orderby{
    width:100%;
  }

  .post-type-archive-product
  .woocommerce ul.products,
  .tax-product_cat
  .woocommerce ul.products{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:
      16px 12px!important;
  }

  .amc-shop-reassurance{
    grid-template-columns:1fr;
  }

}


/* ---------------------------------------------------------
   SMALL PHONE
   --------------------------------------------------------- */

@media(max-width:440px){

  .amc-shop-chips{
    gap:7px;
  }

  .amc-shop-chip{
    min-height:38px;

    padding:
      0 12px;

    font-size:12px;
  }

  .amc-shop-bundle{
    padding:16px;
  }

  .amc-shop-bundle__tiers{
    grid-template-columns:
      repeat(3,1fr);

    gap:5px;
  }

  .amc-shop-bundle__tiers > div{
    min-width:0;

    padding:
      9px 4px;
  }

  .amc-shop-bundle__tiers b{
    font-size:10.5px;
  }

  .amc-shop-bundle__tiers span{
    font-size:9.5px;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product,
  .tax-product_cat
  .woocommerce ul.products
  li.product{
    padding:
      9px 9px 12px!important;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  .woocommerce-loop-product__title,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  .woocommerce-loop-product__title{
    min-height:46px;

    font-size:13.5px!important;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  .price,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  .price{
    font-size:13px!important;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  .button,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  .button{
    min-height:42px!important;

    padding:
      8px 7px!important;

    font-size:10.5px!important;
  }

}



/* =========================================================
   AMC ARCHIVE CARD ALIGNMENT 1.1.0
   Normalise WooCommerce product-card internals
   ========================================================= */


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products li.product,
.tax-product_cat
.woocommerce ul.products li.product{
  display:grid!important;

  grid-template-rows:
    minmax(0,1fr)
    46px;

  height:100%!important;

  padding:
    13px 13px 16px!important;

  align-self:stretch!important;
}


/* ---------------------------------------------------------
   MAIN PRODUCT LINK
   Woo puts image/title/price inside this anchor.
   Give it a predictable layout.
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
> a.woocommerce-LoopProduct-link,
.tax-product_cat
.woocommerce ul.products
li.product
> a.woocommerce-LoopProduct-link{
  display:grid!important;

  grid-template-rows:
    auto
    48px
    22px;

  width:100%;
  min-width:0;

  align-content:start;

  text-decoration:none!important;
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
> a.woocommerce-LoopProduct-link
img,
.tax-product_cat
.woocommerce ul.products
li.product
> a.woocommerce-LoopProduct-link
img{
  display:block;

  width:100%!important;

  aspect-ratio:1 / 1;

  margin:
    0 0 13px!important;

  object-fit:cover;
}


/* ---------------------------------------------------------
   TITLE
   Exact visual height across every card.
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_cat
.woocommerce ul.products
li.product
.woocommerce-loop-product__title{
  display:-webkit-box!important;

  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;

  margin:
    0 0 4px!important;

  padding:0!important;

  overflow:hidden;

  align-self:start;

  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;

  color:#0F1F3A!important;

  font-size:15.5px!important;
  font-weight:780!important;
  line-height:1.4!important;
}


/* ---------------------------------------------------------
   PRICE
   Same row height for every product.
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.price,
.tax-product_cat
.woocommerce ul.products
li.product
.price{
  display:flex!important;

  height:22px!important;
  min-height:22px!important;

  margin:0!important;

  align-items:center;

  color:#0F1F3A!important;

  font-size:14.75px!important;
  font-weight:850!important;
  line-height:1!important;
}


/* Prevent stray rating rows changing card height. */

.post-type-archive-product
.woocommerce ul.products
li.product
.star-rating,
.tax-product_cat
.woocommerce ul.products
li.product
.star-rating{
  display:none!important;
}


/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
> .button,
.tax-product_cat
.woocommerce ul.products
li.product
> .button{
  display:flex!important;

  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;

  margin:
    12px 0 0!important;

  padding:
    0 12px!important;

  align-items:center!important;
  justify-content:center!important;

  align-self:end!important;

  border-radius:9px!important;

  white-space:normal;

  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.15!important;

  text-align:center;
}


/* ---------------------------------------------------------
   REMOVE ANY WOO FLOAT / CLEAR BEHAVIOUR
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product::before,
.post-type-archive-product
.woocommerce ul.products
li.product::after,
.tax-product_cat
.woocommerce ul.products
li.product::before,
.tax-product_cat
.woocommerce ul.products
li.product::after{
  display:none!important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:760px){

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  > a.woocommerce-LoopProduct-link,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  > a.woocommerce-LoopProduct-link{
    grid-template-rows:
      auto
      46px
      21px;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  .woocommerce-loop-product__title,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  .woocommerce-loop-product__title{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;

    font-size:13.5px!important;
  }

}


@media(max-width:440px){

  .post-type-archive-product
  .woocommerce ul.products
  li.product,
  .tax-product_cat
  .woocommerce ul.products
  li.product{
    grid-template-rows:
      minmax(0,1fr)
      42px;
  }

  .post-type-archive-product
  .woocommerce ul.products
  li.product
  > .button,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  > .button{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;

    margin-top:9px!important;

    font-size:10.5px!important;
  }

}



/* =========================================================
   AMC ARCHIVE ALIGNMENT FINAL 1.2.0
   Targets actual rendered WooCommerce card structure.
   ========================================================= */


/* ---------------------------------------------------------
   PRODUCT GRID
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products,
.tax-product_cat
.woocommerce ul.products{
  align-items:stretch!important;
  grid-auto-flow:row!important;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
> li.product.amc-archive-card-fixed,
.tax-product_cat
.woocommerce ul.products
> li.product.amc-archive-card-fixed{
  display:flex!important;

  width:100%!important;
  min-width:0!important;

  flex-direction:column!important;
  align-items:stretch!important;

  box-sizing:border-box!important;

  padding:
    13px 13px 16px!important;
}


/* ---------------------------------------------------------
   IMAGE/TITLE/PRICE LINK
   --------------------------------------------------------- */

.post-type-archive-product
.amc-archive-card-main,
.tax-product_cat
.amc-archive-card-main{
  display:block!important;

  width:100%!important;
  min-width:0!important;

  flex:
    0 0 auto!important;

  margin:0!important;
  padding:0!important;

  text-decoration:none!important;
}


/* ---------------------------------------------------------
   IMAGES
   Same geometry on every card.
   --------------------------------------------------------- */

.post-type-archive-product
.amc-archive-card-main img,
.tax-product_cat
.amc-archive-card-main img{
  display:block!important;

  width:100%!important;
  height:auto!important;

  aspect-ratio:1 / 1!important;

  object-fit:cover!important;

  margin:
    0 0 13px!important;
}


/* ---------------------------------------------------------
   TITLE SLOT
   Exactly two lines of reserved space — even for a
   one-line product title.
   --------------------------------------------------------- */

.post-type-archive-product
.amc-archive-card-title,
.tax-product_cat
.amc-archive-card-title{
  display:-webkit-box!important;

  width:100%!important;

  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;

  margin:
    0 0 5px!important;

  padding:0!important;

  overflow:hidden!important;

  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;

  color:#0F1F3A!important;

  font-size:15.5px!important;
  font-weight:780!important;
  line-height:1.4!important;
}


/* ---------------------------------------------------------
   PRICE SLOT
   Identical vertical allocation.
   --------------------------------------------------------- */

.post-type-archive-product
.amc-archive-card-price,
.tax-product_cat
.amc-archive-card-price{
  display:flex!important;

  width:100%!important;

  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;

  margin:0!important;
  padding:0!important;

  align-items:center!important;

  color:#0F1F3A!important;

  font-size:14.75px!important;
  font-weight:850!important;
  line-height:1!important;
}


/* ---------------------------------------------------------
   CTA WRAPPER
   Handles Woo/plugin markup where the button is not a
   direct child of the product LI.
   --------------------------------------------------------- */

.post-type-archive-product
.amc-archive-card-cta-holder,
.tax-product_cat
.amc-archive-card-cta-holder{
  display:flex!important;

  width:100%!important;

  margin:
    auto 0 0!important;

  padding:
    12px 0 0!important;

  align-items:stretch!important;

  box-sizing:border-box!important;
}


/* ---------------------------------------------------------
   ACTUAL CTA
   Full width and pinned to bottom irrespective of nesting.
   --------------------------------------------------------- */

.post-type-archive-product
.woocommerce ul.products
li.product
.amc-archive-card-cta,
.tax-product_cat
.woocommerce ul.products
li.product
.amc-archive-card-cta{
  display:flex!important;

  width:100%!important;
  min-width:100%!important;
  max-width:none!important;

  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;

  margin:
    auto 0 0!important;

  padding:
    0 12px!important;

  flex:
    0 0 46px!important;

  align-self:stretch!important;
  align-items:center!important;
  justify-content:center!important;

  box-sizing:border-box!important;

  border-radius:9px!important;

  background:#0F1F3A!important;
  color:#fff!important;

  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.15!important;

  text-align:center!important;
  white-space:normal!important;
}


/*
 * Direct-child CTA gets its top spacing here.
 * Wrapped CTAs receive it on the holder instead.
 */

.post-type-archive-product
li.product
> .amc-archive-card-cta,
.tax-product_cat
li.product
> .amc-archive-card-cta{
  margin:
    auto 0 0!important;
}


/* ---------------------------------------------------------
   REMOVE STRAY LOOP ELEMENTS FROM HEIGHT CALCULATIONS
   --------------------------------------------------------- */

.post-type-archive-product
li.product
.star-rating,
.tax-product_cat
li.product
.star-rating{
  display:none!important;
}


/* ---------------------------------------------------------
   PHONE
   --------------------------------------------------------- */

@media(max-width:440px){

  .post-type-archive-product
  .amc-archive-card-title,
  .tax-product_cat
  .amc-archive-card-title{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;

    font-size:13.25px!important;
    line-height:1.45!important;
  }


  .post-type-archive-product
  .woocommerce ul.products
  li.product
  .amc-archive-card-cta,
  .tax-product_cat
  .woocommerce ul.products
  li.product
  .amc-archive-card-cta{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;

    flex-basis:42px!important;

    font-size:10.5px!important;
  }

}



/* =========================================================
   AMC ARCHIVE CTA FINAL FIX 1.3.0
   ========================================================= */

.post-type-archive-product
li.product.amc-archive-card-fixed,
.tax-product_cat
li.product.amc-archive-card-fixed{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:100%!important;
}


/* Main product information fills the space above CTA. */

.post-type-archive-product
.amc-archive-card-main,
.tax-product_cat
.amc-archive-card-main{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
}


/* Fixed information slots. */

.post-type-archive-product
.amc-archive-card-title,
.tax-product_cat
.amc-archive-card-title{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
}

.post-type-archive-product
.amc-archive-card-price,
.tax-product_cat
.amc-archive-card-price{
  height:22px!important;
  min-height:22px!important;
}


/* Any Woo wrapper around the CTA. */

.post-type-archive-product
.amc-archive-card-cta-holder,
.tax-product_cat
.amc-archive-card-cta-holder{
  display:flex!important;

  width:100%!important;
  max-width:100%!important;

  margin-top:auto!important;
  padding-top:12px!important;

  align-items:stretch!important;
}


/* The button itself MUST span the card. */

.post-type-archive-product
li.product
.amc-archive-card-cta,
.tax-product_cat
li.product
.amc-archive-card-cta{
  display:flex!important;

  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;

  height:46px!important;
  min-height:46px!important;

  margin-left:0!important;
  margin-right:0!important;

  padding:0 12px!important;

  align-items:center!important;
  justify-content:center!important;

  box-sizing:border-box!important;

  text-align:center!important;
}


/* Mobile */

@media(max-width:440px){

  .post-type-archive-product
  li.product
  .amc-archive-card-cta,
  .tax-product_cat
  li.product
  .amc-archive-card-cta{
    height:42px!important;
    min-height:42px!important;
  }

}



/* =========================================================
   AMC ARCHIVE WIDTH POLISH 1.4.0
   Shop / ADHD / Autism / AuDHD only
   ========================================================= */


/*
 * Keep the navy archive hero full bleed,
 * but align its internal content and catalogue
 * to a more comfortable retail width.
 */

@media(min-width:1200px){

  .post-type-archive-product
  .amc-site-main > .amc-container,
  .tax-product_cat
  .amc-site-main > .amc-container{
    width:min(
      1180px,
      calc(100% - 96px)
    )!important;

    margin-left:auto!important;
    margin-right:auto!important;
  }


  .amc-shop-hero__inner{
    width:min(
      1180px,
      calc(100% - 96px)
    )!important;
  }

}


/*
 * Medium desktop / laptop:
 * still retain meaningful gutters.
 */

@media(min-width:761px) and (max-width:1199px){

  .post-type-archive-product
  .amc-site-main > .amc-container,
  .tax-product_cat
  .amc-site-main > .amc-container{
    width:calc(100% - 56px)!important;

    margin-left:auto!important;
    margin-right:auto!important;
  }


  .amc-shop-hero__inner{
    width:calc(100% - 56px)!important;
  }

}


/*
 * Keep catalogue furniture aligned to the
 * same inner boundary.
 */

.post-type-archive-product
.amc-shop-toolbar,
.tax-product_cat
.amc-shop-toolbar,

.post-type-archive-product
.woocommerce ul.products,
.tax-product_cat
.woocommerce ul.products,

.post-type-archive-product
.woocommerce nav.woocommerce-pagination,
.tax-product_cat
.woocommerce nav.woocommerce-pagination,

.post-type-archive-product
.amc-shop-reassurance,
.tax-product_cat
.amc-shop-reassurance{
  max-width:100%!important;
}


/*
 * Mobile keeps sensible edge spacing.
 */

@media(max-width:760px){

  .post-type-archive-product
  .amc-site-main > .amc-container,
  .tax-product_cat
  .amc-site-main > .amc-container{
    width:calc(100% - 28px)!important;
  }


  .amc-shop-hero__inner{
    width:calc(100% - 28px)!important;
  }

}



/* =========================================================
   AMC ARCHIVE WIDTH FINAL 1.5.0
   Constrain the actual WooCommerce catalogue wrapper
   ========================================================= */


/*
 * This is the important fix:
 * the product grid, toolbar, pagination and reassurance
 * all live inside .woocommerce.
 */

body.post-type-archive-product
main .woocommerce,

body.tax-product_cat
main .woocommerce,

body.post-type-archive-product
.amc-site-main .woocommerce,

body.tax-product_cat
.amc-site-main .woocommerce{
  width:min(
    1180px,
    calc(100% - 96px)
  )!important;

  max-width:1180px!important;

  margin-left:auto!important;
  margin-right:auto!important;
}


/*
 * The branded archive hero remains full bleed.
 */

body.post-type-archive-product
.amc-shop-hero,

body.tax-product_cat
.amc-shop-hero{
  position:relative!important;

  left:50%!important;

  width:100vw!important;
  max-width:none!important;

  margin-left:-50vw!important;
  margin-right:0!important;
}


/*
 * Hero's content aligns with the catalogue boundary.
 */

body.post-type-archive-product
.amc-shop-hero__inner,

body.tax-product_cat
.amc-shop-hero__inner{
  width:min(
    1180px,
    calc(100% - 96px)
  )!important;

  max-width:1180px!important;

  margin-left:auto!important;
  margin-right:auto!important;
}


/*
 * Stop any WooCommerce loop element from breaking
 * beyond the constrained wrapper.
 */

body.post-type-archive-product
.woocommerce ul.products,

body.tax-product_cat
.woocommerce ul.products,

body.post-type-archive-product
.amc-shop-toolbar,

body.tax-product_cat
.amc-shop-toolbar,

body.post-type-archive-product
.amc-shop-reassurance,

body.tax-product_cat
.amc-shop-reassurance,

body.post-type-archive-product
.woocommerce-pagination,

body.tax-product_cat
.woocommerce-pagination{
  width:100%!important;
  max-width:100%!important;

  margin-left:auto!important;
  margin-right:auto!important;

  box-sizing:border-box!important;
}


/* Laptop */

@media(max-width:1199px) and (min-width:761px){

  body.post-type-archive-product
  main .woocommerce,

  body.tax-product_cat
  main .woocommerce,

  body.post-type-archive-product
  .amc-site-main .woocommerce,

  body.tax-product_cat
  .amc-site-main .woocommerce{
    width:calc(100% - 56px)!important;
  }


  body.post-type-archive-product
  .amc-shop-hero__inner,

  body.tax-product_cat
  .amc-shop-hero__inner{
    width:calc(100% - 56px)!important;
  }

}


/* Mobile */

@media(max-width:760px){

  body.post-type-archive-product
  main .woocommerce,

  body.tax-product_cat
  main .woocommerce,

  body.post-type-archive-product
  .amc-site-main .woocommerce,

  body.tax-product_cat
  .amc-site-main .woocommerce{
    width:calc(100% - 28px)!important;
  }


  body.post-type-archive-product
  .amc-shop-hero__inner,

  body.tax-product_cat
  .amc-shop-hero__inner{
    width:calc(100% - 28px)!important;
  }

}



/* =========================================================
   AMC ARCHIVE TEMPLATE WIDTH FIX 1.6.0
   Real archive boundary — Shop + categories only
   ========================================================= */


/*
 * This is now the actual catalogue boundary rather than
 * trying to infer WooCommerce's generated wrapper.
 */

.amc-woo-archive-shell{
  width:100%;

  overflow:visible;

  background:#F6F3EE;
}


.amc-woo-archive-container{
  width:min(
    1180px,
    calc(100% - 96px)
  );

  max-width:1180px;

  margin-left:auto;
  margin-right:auto;

  overflow:visible;
}


/*
 * Whatever WooCommerce creates inside the new container
 * must use the container width, not its own viewport width.
 */

.amc-woo-archive-container
> .woocommerce,

.amc-woo-archive-container
.woocommerce,

.amc-woo-archive-container
#primary,

.amc-woo-archive-container
#main,

.amc-woo-archive-container
.site-main{
  width:100%!important;
  max-width:none!important;

  margin-left:0!important;
  margin-right:0!important;

  float:none!important;

  box-sizing:border-box!important;

  overflow:visible;
}


/*
 * Catalogue furniture follows the same boundary.
 */

.amc-woo-archive-container
.amc-shop-toolbar,

.amc-woo-archive-container
ul.products,

.amc-woo-archive-container
.woocommerce-pagination,

.amc-woo-archive-container
.amc-shop-reassurance{
  width:100%!important;
  max-width:100%!important;
}


/*
 * Hero deliberately escapes the 1180px container and
 * remains full browser width.
 */

.amc-woo-archive-container
.amc-shop-hero{
  position:relative!important;

  left:50%!important;

  width:100vw!important;
  max-width:none!important;

  margin-left:-50vw!important;
  margin-right:0!important;
}


/*
 * But the content inside that full-width hero aligns
 * precisely with the catalogue underneath.
 */

.amc-woo-archive-container
.amc-shop-hero__inner{
  width:min(
    1180px,
    calc(100% - 96px)
  )!important;

  max-width:1180px!important;

  margin-left:auto!important;
  margin-right:auto!important;
}


/* ---------------------------------------------------------
   LAPTOP
   --------------------------------------------------------- */

@media(max-width:1199px) and (min-width:761px){

  .amc-woo-archive-container{
    width:calc(100% - 72px);
  }

  .amc-woo-archive-container
  .amc-shop-hero__inner{
    width:calc(100% - 72px)!important;
  }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-woo-archive-container{
    width:calc(100% - 28px);
  }

  .amc-woo-archive-container
  .amc-shop-hero__inner{
    width:calc(100% - 28px)!important;
  }

}



/* =========================================================
   AMC ARCHIVE MOBILE POLISH 2.0.0
   Shop / ADHD / Autism / AuDHD
   ========================================================= */


/* ---------------------------------------------------------
   MOBILE HEADER
   Keep basket accessible when desktop header actions hide.
   --------------------------------------------------------- */

@media(max-width:900px){

  body.post-type-archive-product
  .amc-header-actions,

  body.tax-product_cat
  .amc-header-actions{
    display:flex!important;

    margin-left:auto;
    margin-right:8px;
  }


  body.post-type-archive-product
  .amc-cart-link,

  body.tax-product_cat
  .amc-cart-link{
    display:inline-flex!important;

    min-width:44px;
    min-height:44px;

    padding:0 11px!important;

    align-items:center;
    justify-content:center;

    border:
      1px solid rgba(15,31,58,.14);

    border-radius:999px;

    background:#fff;

    font-size:12px!important;
    font-weight:800!important;
  }


  body.post-type-archive-product
  .amc-menu-toggle,

  body.tax-product_cat
  .amc-menu-toggle{
    min-width:44px;
    min-height:44px;

    padding:0 12px;
  }

}


/* ---------------------------------------------------------
   MOBILE HERO
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-shop-hero{
    margin-bottom:22px!important;

    padding:
      38px 0 24px!important;
  }


  .amc-shop-hero h1{
    max-width:95%;

    font-size:
      clamp(34px,10vw,42px)!important;

    line-height:1.02!important;
  }


  .amc-shop-intro{
    max-width:96%;

    margin-top:15px!important;

    font-size:15.5px!important;
    line-height:1.5!important;
  }


  .amc-shop-eyebrow{
    margin-bottom:9px;

    font-size:11px;
  }

}


/* ---------------------------------------------------------
   CATEGORY CHIPS
   Keep them as one touch-friendly horizontal row.
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-shop-chips{
    display:flex!important;

    overflow-x:auto;

    margin-top:20px!important;
    padding:
      1px 1px 8px;

    flex-wrap:nowrap!important;

    gap:8px;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;
  }


  .amc-shop-chips::-webkit-scrollbar{
    display:none;
  }


  .amc-shop-chip{
    flex:0 0 auto;

    min-height:44px!important;

    padding:
      0 15px!important;

    font-size:12.5px!important;

    white-space:nowrap;
  }

}


/* ---------------------------------------------------------
   BUNDLE STRIP
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-shop-bundle{
    grid-template-columns:1fr!important;

    gap:15px!important;

    margin-top:22px!important;
    padding:17px!important;
  }


  .amc-shop-bundle__copy strong{
    font-size:15px!important;
  }


  .amc-shop-bundle__copy p{
    font-size:12.5px!important;
  }


  .amc-shop-bundle__tiers{
    width:100%;
    max-width:none!important;

    grid-template-columns:
      repeat(3,minmax(0,1fr))!important;

    gap:7px!important;
  }


  .amc-shop-bundle__tiers > div{
    min-width:0!important;

    padding:
      11px 5px!important;
  }


  .amc-shop-bundle__tiers b{
    font-size:12px!important;
  }


  .amc-shop-bundle__tiers span{
    font-size:11px!important;
  }

}


/* ---------------------------------------------------------
   TOOLBAR
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-shop-toolbar{
    min-height:0!important;

    margin-bottom:18px!important;
    padding:
      4px 0 17px;

    gap:10px!important;
  }


  .amc-shop-count{
    font-size:13px!important;
  }


  .amc-shop-sort{
    width:100%;

    gap:8px!important;
  }


  .amc-shop-sort__label{
    flex:0 0 auto;

    font-size:12.5px!important;
  }


  .amc-shop-sort
  .woocommerce-ordering{
    flex:1 1 auto;
  }


  .amc-shop-sort
  select.orderby{
    width:100%!important;

    min-height:46px!important;

    font-size:13px!important;
  }

}


/* ---------------------------------------------------------
   MOBILE PRODUCT GRID
   Two columns on normal phones.
   --------------------------------------------------------- */

@media(max-width:760px){

  .post-type-archive-product
  .woocommerce ul.products,

  .tax-product_cat
  .woocommerce ul.products{
    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;

    gap:
      16px 12px!important;
  }


  .post-type-archive-product
  .woocommerce ul.products
  li.product,

  .tax-product_cat
  .woocommerce ul.products
  li.product{
    padding:
      9px 9px 12px!important;

    border-radius:12px!important;
  }


  .post-type-archive-product
  .amc-archive-card-main img,

  .tax-product_cat
  .amc-archive-card-main img{
    margin-bottom:10px!important;

    border-radius:8px!important;
  }


  .post-type-archive-product
  .amc-archive-card-title,

  .tax-product_cat
  .amc-archive-card-title{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;

    font-size:13.5px!important;
    line-height:1.45!important;
  }


  .post-type-archive-product
  .amc-archive-card-price,

  .tax-product_cat
  .amc-archive-card-price{
    height:21px!important;
    min-height:21px!important;

    font-size:13px!important;
  }


  .post-type-archive-product
  li.product
  .amc-archive-card-cta,

  .tax-product_cat
  li.product
  .amc-archive-card-cta{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;

    padding:
      0 7px!important;

    font-size:11.5px!important;
    line-height:1.15!important;
  }

}


/* ---------------------------------------------------------
   VERY NARROW PHONES
   Do not crush two products into unusable cards.
   --------------------------------------------------------- */

@media(max-width:355px){

  .post-type-archive-product
  .woocommerce ul.products,

  .tax-product_cat
  .woocommerce ul.products{
    grid-template-columns:1fr!important;

    gap:16px!important;
  }


  .post-type-archive-product
  .amc-archive-card-title,

  .tax-product_cat
  .amc-archive-card-title{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    font-size:15px!important;
  }


  .post-type-archive-product
  .amc-archive-card-price,

  .tax-product_cat
  .amc-archive-card-price{
    font-size:14px!important;
  }


  .post-type-archive-product
  li.product
  .amc-archive-card-cta,

  .tax-product_cat
  li.product
  .amc-archive-card-cta{
    font-size:12.5px!important;
  }

}


/* ---------------------------------------------------------
   PAGINATION
   Proper touch targets.
   --------------------------------------------------------- */

@media(max-width:760px){

  .woocommerce
  nav.woocommerce-pagination{
    margin:
      36px 0 18px!important;
  }


  .woocommerce
  nav.woocommerce-pagination
  ul
  li
  a,

  .woocommerce
  nav.woocommerce-pagination
  ul
  li
  span{
    width:44px!important;
    height:44px!important;
  }

}


/* ---------------------------------------------------------
   REASSURANCE
   --------------------------------------------------------- */

@media(max-width:760px){

  .amc-shop-reassurance{
    gap:8px!important;

    margin-top:36px!important;
  }


  .amc-shop-reassurance > div{
    min-height:66px;

    padding:
      14px 15px!important;
  }

}



/* =========================================================
   AMC MOBILE TITLE FIX 3.1.0
   Exactly two clean title lines — no third-line leakage
   ========================================================= */

@media(max-width:760px){

  body
  .woocommerce
  ul.products
  li.product
  .woocommerce-loop-product__title{

    display:-webkit-box!important;

    box-sizing:border-box!important;

    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;

    margin:0 0 8px!important;
    padding:0!important;

    overflow:hidden!important;

    font-size:14px!important;
    line-height:20px!important;

    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;

    text-overflow:ellipsis!important;
  }

}

