/* ============ PAGE WRAPPER / LAYOUT ============ */

/* Your Elementor page is full width */
.elementor-kit-20776 main#main { max-width: none; }
@media only screen and (max-width:786px){
    .product_cat-build-your-own-box{flex-direction: column!important;}
}
/* Product page container width/flow */
.single-product .product {
  display: flex !important;
  margin: 0 auto;
  justify-content: center;
  flex-direction: row;
  width: 80vw;
}
.single-product .container { width: 80%; max-width: none; }
.product .clearfix { width: 80%; }

/* Hide the default Woo bits on the grouped “builder” */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery--with-images,
.single-product .images,
.single-product .product_title,
.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells,
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-sidebar,
.single-product #comments,
.single-product #reviews,
.single-product #sidebar,
.et_right_sidebar #main-content .container:before {
  display: none !important;
}

/* Force full width content for the builder */
.single-product .site-content,
.single-product .et_pb_row,
.single-product .et_pb_section,
.single-product #left-area,
.single-product .summary,
.single-product .woocommerce {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 3%;
  margin: 0 auto;
}

/* ============ GROUPED PRODUCT GRID (keep) ============ */

.grouped-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 25px;
  margin: 40px auto;
  width: 100%;
}
.grouped-products-grid.header{font-family:"Cabin", Sans-serif;}
.grouped-product-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 15px;
  text-align: center;
  transition: all 0.2s ease;
  font-family:"Cabin", Sans-serif;
}
.grouped-product-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.grouped-thumb img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
  object-fit: cover;
}
.grouped-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.grouped-title { font-size: 16px; font-weight: 600; margin: 0; }
.grouped-title a { color: #222; text-decoration: none; }
.grouped-title a:hover { color: #073726; }
.grouped-meta { font-size: 13px; color: #777; }
.grouped-price { font-weight: 600; font-size: 15px; color: #073726; }
.grouped-product-card .button {
  background-color: #073726 !important;
      color: #fff !important;
      border: none !important;
      border-radius: 50px !important;
      padding: 8px 18px !important;
      font-size: 14px !important;
      cursor: pointer !important;
      transition: all 0.2s 
  ease !important;
}
.grouped-product-card .button:hover { background-color: #267c3a!important; }

/* Responsive tweaks for the grid + cart container width */
@media only screen and (max-width: 980px) {
  #inline-cart-container {
    position: static;
    width: 100% !important;
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin-top: 20px;
    text-align: center;
  }
  .grouped-products-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 15px;
  }
}

/* ============ INLINE BASKET CONTAINER (base) ============ */

/* Keep your sizing/positioning; visual styling is themed below */
#inline-cart-container {
  top: 100px;
  right: 30px;
  width: 30vw;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-family: "Cabin", Sans-serif;
  margin-top:5em;
  height:max-content;
  position: sticky;
  margin-bottom: 4em;
}
@media only screen and (max-width:786px){
    #inline-cart-container{margin-top:0px!important;}
}
/* Subtle flash on update */
#inline-cart-container.updated {
  box-shadow: 0 0 18px rgba(42,160,82,.35);
  transition: box-shadow .25s;
}

/* Empty state (Woo class that we still use) */
.woocommerce-mini-cart__empty-message {
  text-align: center; color: #888;
}

/* ============ INLINE BASKET (COMPACT, THEMED) ============ */

/* Container visuals (overrides previous background/border) */
#inline-cart-container {
  background: #fff5ee;                /* light peach like your reference */
  border: 1px solid #f6e6d6;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  padding: 18px 16px 20px;
  color: #1f2a1f;
}

/* Header */
.nigpc-mini-cart .nigpc-header h3 {
  margin: 0 0 4px;
  text-align: left;
  font-size: 20px;
  font-weight: 700;
  color: #073726;                     /* deep green heading */
}
.nigpc-mini-cart .nigpc-subtitle {
  margin: 0 0 10px;
  font-size: 13px;
  color: #073726;                     /* lighter green */
  font-weight: 600;
}

/* Scrollable list “card” */
.nigpc-list-card {
  background: #ffffff;
  border-radius: 10px;
  min-height: 280px;
  max-height: 280px;
  overflow-y: auto;
  padding: 8px 10px;
  border: 1px solid #f0f0f0;
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
  border-radius:5px;
}
@media only screen and (max-width:786px){
    .nigpc-list-card{max-height:500px;}
}
/* Items */
.nigpc-mini-cart-items { list-style: none; padding: 0; margin: 0; }
.nigpc-mini-cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 6px;
  border-bottom: 1px solid #f3f3f3;
}
.nigpc-mini-cart-item:last-child { border-bottom: 0; }
@media only screen and (max-width:1300px){
    .nigpc-mini-cart-item{flex-direction:column;}
}
/* Left: title + meta */
.nigpc-item-left { flex: 1 1 auto; min-width: 0; }
.nigpc-title {
  display: inline-block;
  color: #1b1b1b;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.25;
}
.nigpc-mini-cart-item :hover .nigpc-title {
    color: #073726;
}
.nigpc-meta {
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

/* Right: qty pill */
.nigpc-item-right { flex: 0 0 auto; }
.nigpc-qty-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 2px solid #073726;
  border-radius: 9999px;
  padding: 4px 10px;
  background: #f8fff9;
}
.nigpc-qty-pill button {
  width: 28px;
  height: 28px;
  border-radius: 25px !important;
  border: none !important;
  background-color: #073726!important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0px !important;
  margin: 0px !important;
}
.nigpc-qty-pill button:focus { outline: 2px solid #99e0b2; outline-offset: 2px; }
.nigpc-qty-pill .nigpc-qty {
  min-width: 16px;
  text-align: center;
  font-weight: 700;
  color: #0f3f24;
  font-size: 14px;
}
.nigpc-qty-pill .nigpc-qty-minus, .nigpc-qty-pill .nigpc-qty-plus{
transition: all 0.2s ease;
}
.nigpc-qty-pill .nigpc-qty-minus:hover, .nigpc-qty-pill .nigpc-qty-plus:hover{
background-color:#41983C!important;
}
/* Total row */
.nigpc-total-row {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 12px;
  padding: 10px 2px 0;
  margin-top: 12px;
  border-top: 2px solid #f0f0f0;
}
.nigpc-total-row span { font-weight: 700; color: #262626; }
.nigpc-total-amount { color: #073726; font-size: 18px; }

/* CTA */
#inline-cart-content .nigpc-primary-btn, .nigpc-filters .nigpc-filter.nigpc-primary-btn, #nigpc-loadmore-wrap .nigpc-loadmore.nigpc-primary-btn {
  display: block;
  margin-top: 12px;
  text-align: center;
  background: #073726;
  color: #fff;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 9999px;
  font-weight: 700;
  transition: all 0.2s ease;
  border:2px solid #073726
}
.nigpc-primary-btn:hover { background: #41983C!important; color:#fff!important; border-color:#41983C!important;}
.nigpc-filter.nigpc-primary-btn:hover{background-color: #41983C;}
.nigpc-filter.nigpc-primary-btn.is-active{
    background-color:white!important;color:#073726!important;border:2px solid #073726;
}
.nigpc-loadmore{justify-self: center;}
.
/* Notes */
.nigpc-notes {
  margin: 14px 0 0; padding: 0 2px 0 28px;
  color: #444; font-size: 12px;
}
.nigpc-notes li { margin: 6px 0; }
/* Filters (tabs) */
.nigpc-filters {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin: 10px 0 14px;
}
.nigpc-filter {
  border: 1px solid #e5e7eb; background: #fff;
  color: #1f2937; border-radius: 9999px; padding: 6px 12px;
  cursor: pointer; font-weight: 600; font-size: 14px;
}
.nigpc-filter:hover { background: #f7f7f7; }
.nigpc-filter.is-active { background: #2aa052; border-color: #2aa052; color: #fff; }

/* Loading state */
#nigpc-grid.is-loading { opacity: .6; pointer-events: none; }

/* Pagination */
.nigpc-pagination {
  display: flex; align-items: center; gap: 12px;
  justify-content: center; margin: 16px 0 0;
}
.nigpc-page {
  border: 1px solid #e5e7eb; background: #fff; padding: 6px 12px;
  border-radius: 8px; cursor: pointer; font-weight: 600;
}
.nigpc-page:hover { background: #f7f7f7; }
.nigpc-page:disabled { opacity: .45; cursor: not-allowed; }
.nigpc-page-info { font-size: 14px; color: #374151; }
