/* CCS Archive Product Renderer 5.0.0 */
.ccs_archive_product_renderer_vb_placeholder{min-height:320px;width:100%;box-sizing:border-box;padding:28px;border:1px dashed #b8c5d1;border-radius:8px;background:#f7f9fb;color:#536575;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.ccs_archive_product_renderer_vb_placeholder strong{color:#0b2742;font-size:18px}
.ccs_archive_product_renderer_vb_placeholder span{font-size:13px}
.ccs-archive-renderer{width:100%}.ccs-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.ccs-archive-result-count{font-size:13px;color:#66798a}.ccs-archive-sort{display:flex;align-items:center;gap:8px;margin:0}.ccs-archive-sort label{font-size:13px;color:#536575;font-weight:600}.ccs-archive-sort select{min-width:160px;padding:8px 32px 8px 10px;border:1px solid #dce5ec;border-radius:6px;background:#fff;color:#0b2742;font-size:13px}
.ccs-archive-renderer{width:100%;container-type:inline-size;container-name:ccsarchive}.ccs-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%}.ccs-archive-card{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:18px;min-width:0;min-height:300px;margin:0;padding:18px;background:#fff;border:1px solid #dce5ec;border-radius:10px;box-shadow:0 2px 8px rgba(11,39,66,.07);overflow:hidden}.ccs-archive-card-title{grid-column:1/-1;grid-row:1;margin:0 0 14px;padding:0;color:#0b2742;font-size:16px;font-weight:600;line-height:1.35}.ccs-archive-card-title a{color:inherit;text-decoration:none}.ccs-archive-card-title a:hover{text-decoration:underline}.ccs-archive-card-lower{display:contents}.ccs-archive-card-media{grid-column:1;grid-row:2;min-width:0;display:block}.ccs-archive-card-image{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;margin:0;padding:10px;box-sizing:border-box;background:#f7f9fb;border:1px solid #edf1f4;border-radius:7px}.ccs-archive-card-info{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-width:0}.ccs-archive-card-sku{font-size:12px;line-height:1.35;color:#66798a;margin:0 0 7px}.ccs-archive-card-sku span{font-weight:600;color:#536575}.ccs-archive-card-price{font-size:18px;font-weight:700;line-height:1.35;color:#0b2742;margin:0 0 7px}.ccs-archive-card-price .price{margin:0}.ccs-archive-card-stock{font-size:12px;line-height:1.35;font-weight:600;margin:0 0 9px}.ccs-archive-card-stock.in{color:#28734d}.ccs-archive-card-stock.out{color:#a33b3b}.ccs-archive-card-description{font-size:13px;line-height:1.45;color:#536575;margin:0 0 14px}.ccs-archive-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:auto}.ccs-archive-card-actions>a,.ccs-archive-card-actions>button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;border:0;border-radius:6px;cursor:pointer;text-decoration:none;font-size:12px;font-weight:600;line-height:1.2}.ccs-add-to-cart{padding:8px 13px;background:#1267b1;color:#fff;white-space:nowrap}.ccs-add-to-cart:hover,.ccs-add-to-cart:focus{background:#0b2742;color:#fff}.ccs-icon-action{width:36px;height:36px;padding:8px;background:#eef4f8;color:#0b2742;flex:0 0 36px}.ccs-icon-action:hover,.ccs-icon-action:focus{background:#0b2742;color:#fff}.ccs-icon-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@container ccsarchive (min-width:700px) and (max-width:1099px){.ccs-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container ccsarchive (min-width:1100px) and (max-width:1599px){.ccs-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container ccsarchive (min-width:1600px){.ccs-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container ccsarchive (max-width:699px){.ccs-archive-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.ccs-archive-sort{width:100%;justify-content:space-between}.ccs-archive-sort select{flex:1}.ccs-archive-grid{grid-template-columns:1fr;gap:14px}.ccs-archive-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;padding:12px}.ccs-archive-card-title{grid-column:1;grid-row:1;margin-bottom:12px}.ccs-archive-card-media{grid-column:1;grid-row:2}.ccs-archive-card-info{grid-column:1;grid-row:3;padding-top:12px}}

.ccs-status-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;color:#fff!important;cursor:default}
.ccs-status-out,.ccs-status-backorder{background:#b43a3a!important;border:1px solid #a63131!important}

/* Backorder status uses a warning/gold treatment distinct from Out of Stock. */
.ccs-status-backorder{background:#d6a21e!important;border-color:#c49312!important;color:#fff!important}

.ccs-archive-card-media{border:0;cursor:zoom-in;text-decoration:none;background:#f7f9fb;width:100%;padding:0}
.ccs-archive-card-media:focus-visible{outline:2px solid #1267b1;outline-offset:2px}
.ccs-image-lightbox{display:none;position:fixed;inset:0;z-index:1000000}.ccs-image-lightbox.open{display:block}
.ccs-image-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,20,34,.88)}
.ccs-image-lightbox-inner{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px;box-sizing:border-box}
.ccs-image-lightbox-image{display:block;max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain}
.ccs-image-lightbox-close{position:absolute;right:24px;top:18px;width:44px;height:44px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.ccs-image-lightbox-prev,.ccs-image-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;align-items:center;justify-content:center;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:6px;font-size:42px;line-height:1;cursor:pointer}
.ccs-image-lightbox-prev{left:24px}.ccs-image-lightbox-next{right:24px}
.ccs-image-lightbox-prev:hover,.ccs-image-lightbox-next:hover,.ccs-image-lightbox-close:hover{background:rgba(255,255,255,.22)}

/* 5.5.0: reserve exactly two title lines so image/SKU/detail blocks align across each row. */
.ccs-archive-card-title{
  min-height:2.7em;
  max-height:2.7em;
  overflow:hidden;
}
.ccs-archive-card-title a{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
@media(max-width:699px){
  .ccs-archive-card-title{
    min-height:2.7em;
    max-height:2.7em;
  }
}

/* Backordered products remain purchasable. Keep the Add to Cart label but use
   a yellow/gold treatment so the delayed-fulfillment state is visually clear. */
.ccs-add-to-cart-backorder{
  background:#d6a21e!important;
  border:1px solid #c49312!important;
  color:#fff!important;
}
.ccs-add-to-cart-backorder:hover,
.ccs-add-to-cart-backorder:focus{
  background:#b88308!important;
  border-color:#a87405!important;
  color:#fff!important;
}

/* 5.7.0 visual refinements */
.ccs-archive-card-sku{
  font-size:14px;
}
.ccs-archive-card-stock{
  font-size:14px;
}
.ccs-archive-card-description{
  font-size:15px;
}
.ccs-archive-card-price{
  font-size:22px;
}
.ccs-archive-card-actions{
  justify-content:flex-end;
  margin-left:auto;
  width:100%;
}
.ccs-archive-result-count{
  font-size:15px;
}
.ccs-archive-sort label{
  font-size:15px;
}
.ccs-archive-pagination{
  gap:10px;
  margin:40px 0 20px;
}
.ccs-archive-pagination a{
  min-height:46px;
  padding:0 14px;
  border:1px solid #d5e0e8;
  background:#fff;
  border-radius:7px;
  font-size:14px;
}
.ccs-archive-pagination a:hover,
.ccs-archive-pagination a:focus{
  background:#eef4f8;
  border-color:#b8cad8;
}
.ccs-page-numbers{
  gap:7px;
}
.ccs-page-number{
  min-width:46px;
  min-height:46px;
  padding:0 12px;
  font-size:15px;
  font-weight:600;
}
.ccs-page-number.current{
  background:#1267b1;
  border-color:#1267b1;
  color:#fff;
}
.ccs-page-ellipsis{
  min-width:28px;
  font-size:15px;
}

/* 5.9.0 functional/style corrections */
.ccs-archive-card-title a:hover,
.ccs-archive-card-title a:focus{
  text-decoration:none!important;
  color:#1267b1;
}
.ccs-add-to-cart-backorder{
  background:#d6a21e!important;
  border:1px solid #c49312!important;
  color:#fff!important;
}
.ccs-add-to-cart-backorder:hover,
.ccs-add-to-cart-backorder:focus{
  background:#b88308!important;
  border-color:#a87405!important;
  color:#fff!important;
}
.ccs-archive-card-media{
  border:0;
  cursor:zoom-in;
  text-decoration:none;
  background:#f7f9fb;
  width:100%;
  padding:0;
}
.ccs-archive-card-media:focus-visible{
  outline:2px solid #1267b1;
  outline-offset:2px;
}
.ccs-image-lightbox{display:none;position:fixed;inset:0;z-index:1000000}
.ccs-image-lightbox.open{display:block}
.ccs-image-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,20,34,.88)}
.ccs-image-lightbox-inner{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px;box-sizing:border-box}
.ccs-image-lightbox-image{display:block;max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain}
.ccs-image-lightbox-close{position:absolute;right:24px;top:18px;width:44px;height:44px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.ccs-image-lightbox-prev,.ccs-image-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;align-items:center;justify-content:center;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:6px;font-size:42px;line-height:1;cursor:pointer}
.ccs-image-lightbox-prev{left:24px}.ccs-image-lightbox-next{right:24px}

/* 5.10.0 image geometry: the image presentation area is square and does not
   stretch to the height of the card. It begins at the same top coordinate as
   the SKU/details column. */
.ccs-archive-card-media{
  align-self:start!important;
  aspect-ratio:1 / 1!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#f7f9fb!important;
}
.ccs-archive-card-media .ccs-archive-card-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
  box-sizing:border-box!important;
}

/* 5.10.0 pagination: larger website-style controls, centered as one unit. */
.ccs-archive-pagination{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  margin:44px auto 24px!important;
  padding:0!important;
}
.ccs-archive-pagination a{
  min-width:52px!important;
  min-height:48px!important;
  padding:0 16px!important;
  border:1px solid #d2dee7!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#0b2742!important;
  font-size:15px!important;
  font-weight:600!important;
}
.ccs-page-numbers{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.ccs-page-number{
  min-width:48px!important;
  min-height:48px!important;
  padding:0 13px!important;
  border:1px solid #d2dee7!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#0b2742!important;
  font-size:16px!important;
  font-weight:600!important;
}
.ccs-page-number.current{
  background:#1267b1!important;
  border-color:#1267b1!important;
  color:#fff!important;
}
.ccs-page-ellipsis{
  min-width:28px!important;
  font-size:16px!important;
}
@media(max-width:699px){
  .ccs-archive-pagination{
    gap:5px!important;
    margin-top:30px!important;
  }
  .ccs-archive-pagination a{
    min-width:40px!important;
    min-height:42px!important;
    padding:0 10px!important;
  }
  .ccs-page-numbers{gap:4px!important}
  .ccs-page-number{
    min-width:40px!important;
    min-height:42px!important;
    padding:0 8px!important;
    font-size:14px!important;
  }
}

/* 5.11.0: pagination controls match the product-card action controls. */
.ccs-archive-pagination{
  gap:8px!important;
  margin:40px auto 22px!important;
}
.ccs-archive-pagination a{
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:6px!important;
  font-size:12px!important;
  font-weight:600!important;
}
.ccs-page-numbers{
  gap:6px!important;
}
.ccs-page-number{
  min-width:36px!important;
  min-height:36px!important;
  padding:8px 10px!important;
  border-radius:6px!important;
  font-size:12px!important;
  font-weight:600!important;
}
.ccs-page-ellipsis{
  min-width:20px!important;
  font-size:13px!important;
}
@media(max-width:699px){
  .ccs-archive-pagination{
    gap:5px!important;
    margin-top:28px!important;
  }
  .ccs-archive-pagination a{
    min-width:36px!important;
    min-height:36px!important;
    padding:8px 10px!important;
  }
  .ccs-page-numbers{gap:4px!important}
  .ccs-page-number{
    min-width:36px!important;
    min-height:36px!important;
    padding:8px 9px!important;
    font-size:12px!important;
  }
}

/* 5.12.0 pagination styling */
.ccs-archive-pagination{
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:40px auto 24px!important;
  gap:8px!important;
}
.ccs-archive-pagination a{
  min-height:36px!important;
  padding:8px 13px!important;
  border:1px solid #dce5ec!important;
  border-radius:6px!important;
  background:#eef4f8!important;
  color:#0b2742!important;
  font-size:16px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.ccs-page-numbers{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.ccs-page-number{
  min-width:36px!important;
  min-height:36px!important;
  padding:8px 10px!important;
  border:1px solid #dce5ec!important;
  border-radius:6px!important;
  background:#eef4f8!important;
  color:#0b2742!important;
  font-size:16px!important;
  font-weight:600!important;
}
.ccs-page-number.current{
  background:#0b2742!important;
  border-color:#0b2742!important;
  color:#fff!important;
}
.ccs-archive-pagination a:hover,
.ccs-archive-pagination a:focus,
.ccs-page-number:hover,
.ccs-page-number:focus{
  background:#dcebf5!important;
  border-color:#c7d9e6!important;
  color:#0b2742!important;
}
.ccs-page-number.current:hover,
.ccs-page-number.current:focus{
  background:#0b2742!important;
  border-color:#0b2742!important;
  color:#fff!important;
}
.ccs-archive-pagination a.disabled{
  opacity:.45!important;
  pointer-events:none!important;
}

/* 5.13.0 pagination sizing: every page number has an identical click target. */
.ccs-page-number{
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  font-size:19px!important;
}
.ccs-page-number.current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* 5.14.0 Quick View modal */
.ccs-qv{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
}
.ccs-qv.open{
  display:block;
}
.ccs-qv-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,20,34,.72);
}
.ccs-qv-dialog{
  position:relative;
  z-index:2;
  width:min(920px,calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  margin:20px auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  box-sizing:border-box;
}
.ccs-qv-close{
  position:absolute;
  right:14px;
  top:12px;
  z-index:5;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#eef4f8;
  color:#0b2742;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.ccs-qv-close:hover,.ccs-qv-close:focus{
  background:#0b2742;
  color:#fff;
}
.ccs-qv-gallery{
  position:relative;
  padding:28px 28px 20px;
  background:#f7f9fb;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}
.ccs-qv-main{
  display:block;
  width:100%;
  height:auto;
  max-height:55vh;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5ebf0;
  border-radius:8px;
}
.ccs-qv-prev,.ccs-qv-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:6px;
  background:rgba(11,39,66,.86);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.ccs-qv-prev{left:12px}.ccs-qv-next{right:12px}
.ccs-qv-prev:hover,.ccs-qv-next:hover,.ccs-qv-prev:focus,.ccs-qv-next:focus{
  background:#1267b1;
}
.ccs-qv-thumbs{
  display:flex;
  gap:8px;
  width:100%;
  margin-top:12px;
  overflow-x:auto;
  padding:2px 0 4px;
}
.ccs-qv-thumb{
  flex:0 0 62px;
  width:62px;
  height:62px;
  padding:4px;
  border:1px solid #dce5ec;
  border-radius:6px;
  background:#fff;
  cursor:pointer;
}
.ccs-qv-thumb.active{
  border-color:#1267b1;
  box-shadow:0 0 0 1px #1267b1;
}
.ccs-qv-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.ccs-qv-info{
  padding:42px 32px 30px;
  min-width:0;
}
.ccs-qv-info h2{
  margin:0 42px 16px 0;
  color:#0b2742;
  font-size:24px;
  line-height:1.3;
}
.ccs-qv-info .sku{
  font-size:14px;
  color:#66798a;
  margin-bottom:8px;
}
.ccs-qv-info .price{
  font-size:22px;
  font-weight:700;
  color:#0b2742;
  margin-bottom:8px;
}
.ccs-qv-info .stock{
  font-size:14px;
  font-weight:600;
  color:#28734d;
  margin-bottom:14px;
}
.ccs-qv-info .description{
  font-size:15px;
  line-height:1.55;
  color:#536575;
}
.ccs-qv-info .actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
.ccs-qv-info .actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 14px;
  border-radius:6px;
  background:#1267b1;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
}
.ccs-qv-info .actions a:hover,.ccs-qv-info .actions a:focus{
  background:#0b2742;
  color:#fff;
}
body.ccs-qv-lock{
  overflow:hidden;
}
.ccs-qv.loading .ccs-qv-dialog{
  opacity:.72;
}
@media(max-width:760px){
  .ccs-qv-dialog{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
    margin:12px auto;
    grid-template-columns:1fr;
  }
  .ccs-qv-gallery{padding:22px 18px 14px}
  .ccs-qv-main{max-height:45vh}
  .ccs-qv-info{padding:24px 20px 24px}
  .ccs-qv-info h2{font-size:20px}
}

/* 5.15.0 merchandising strip */
.ccs-price-regular{margin-right:8px;color:#7a8792;text-decoration:line-through;font-size:.82em;font-weight:500}
.ccs-price-sale{color:#b43a3a;font-weight:700}
.ccs-card-merchandising{grid-column:1;grid-row:2;align-self:start;min-height:30px;margin-top:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ccs-merch-badge,.ccs-merch-sale-end{display:none;width:100%;box-sizing:border-box;min-height:30px;padding:7px 8px;border-radius:6px;text-align:center;font-size:11px;line-height:1.15;font-weight:700}
.ccs-merch-sale,.ccs-merch-clearance{background:#b43a3a;color:#fff}.ccs-merch-special_offer,.ccs-merch-limited{background:#d6a21e;color:#fff}.ccs-merch-exclusive{background:#0b2742;color:#fff}.ccs-merch-new{background:#1267b1;color:#fff}.ccs-merch-sale-end{background:#eef4f8;color:#0b2742;font-weight:600}
@media(max-width:699px){.ccs-card-merchandising{grid-column:1;grid-row:3}.ccs-archive-card-info{grid-column:1;grid-row:4}.ccs-archive-card{grid-template-rows:auto auto auto auto}}
/* 5.15.0 Quick View richer details and action order */
.ccs-qv-details{margin-top:18px;padding-top:14px;border-top:1px solid #e5ebf0;font-size:14px;line-height:1.55;color:#536575}
.ccs-qv-details>div{margin:3px 0}.ccs-qv-details strong{color:#0b2742}
.ccs-qv-sale-end{color:#b43a3a!important}
.ccs-qv-info .actions a:first-child{order:2;background:#eef4f8;color:#0b2742}
.ccs-qv-info .actions a:first-child:hover,.ccs-qv-info .actions a:first-child:focus{background:#dcebf5;color:#0b2742}
.ccs-qv-info .actions a:last-child{order:1}

/* 5.15.1: put the merchandising strip below the square image without
   occupying the image's grid cell. */
.ccs-archive-card{
  grid-template-rows:auto auto auto;
}
.ccs-archive-card-media{
  grid-column:1!important;
  grid-row:2!important;
}
.ccs-card-merchandising{
  grid-column:1!important;
  grid-row:3!important;
  align-self:start!important;
  margin-top:8px!important;
}
.ccs-archive-card-info{
  grid-column:2!important;
  grid-row:2 / span 2!important;
}
@media(max-width:699px){
  .ccs-archive-card{
    grid-template-rows:auto auto auto auto;
  }
  .ccs-archive-card-media{
    grid-column:1!important;
    grid-row:2!important;
  }
  .ccs-card-merchandising{
    grid-column:1!important;
    grid-row:3!important;
  }
  .ccs-archive-card-info{
    grid-column:1!important;
    grid-row:4!important;
  }
}

/* 5.16.0: stable centered Quick View shell */
.ccs-qv{display:none!important;position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important;padding:20px!important;box-sizing:border-box!important}
.ccs-qv.open{display:flex!important}
.ccs-qv-dialog{margin:0!important;width:min(920px,calc(100vw - 40px))!important;min-height:520px!important;max-height:calc(100vh - 40px)!important;align-self:center!important;overflow:auto!important}
.ccs-qv-loading-shell{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)!important}
.ccs-qv-skeleton-image{width:100%;aspect-ratio:1/1;max-height:55vh;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5ebf0;border-radius:8px;color:#66798a;font-size:13px}
.ccs-qv-skeleton-title{height:28px;width:82%;background:#eef4f8;border-radius:4px;margin-bottom:20px}
.ccs-qv-skeleton-line{height:14px;width:42%;background:#eef4f8;border-radius:4px;margin-bottom:18px}
.ccs-qv-skeleton-price{height:25px;width:28%;background:#eef4f8;border-radius:4px;margin-bottom:22px}
.ccs-qv-skeleton-copy{height:12px;width:100%;background:#eef4f8;border-radius:4px;margin-bottom:10px}
.ccs-qv-skeleton-copy.short{width:72%}
.ccs-qv-error{padding:30px;color:#b43a3a;font-weight:600}
.ccs-qv-info .actions a{order:initial!important}
.ccs-qv-info .actions .ccs-qv-add{background:#1267b1!important;color:#fff!important}
.ccs-qv-info .actions .ccs-qv-view{background:#eef4f8!important;color:#0b2742!important}
@media(max-width:760px){.ccs-qv{padding:12px!important}.ccs-qv-dialog{width:calc(100vw - 24px)!important;min-height:0!important;max-height:calc(100vh - 24px)!important}.ccs-qv-loading-shell{grid-template-columns:1fr!important}.ccs-qv-skeleton-image{max-height:40vh}}

/* 6.1.0-test merchandising labels */
.ccs-card-merchandising{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:30px;margin-top:8px}
.ccs-merch-badge{position:relative;display:none;align-items:center;justify-content:center;width:100%;min-height:30px;padding:7px 30px 7px 10px;box-sizing:border-box;border-radius:4px;text-align:center;font-size:11px;line-height:1.15;font-weight:700;letter-spacing:.02em;user-select:none}
.ccs-merch-badge[data-merch-info]{cursor:help}
.ccs-merch-info-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:15px;height:15px;border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.ccs-merch-popover{position:fixed;z-index:1000001;width:300px;box-sizing:border-box;padding:16px 40px 16px 16px;background:#fff;color:#0b2742;border:1px solid #dce5ec;border-radius:8px;box-shadow:0 10px 30px rgba(11,39,66,.22);font-size:13px;line-height:1.5}
.ccs-merch-popover button{position:absolute;right:8px;top:8px;width:26px;height:26px;border:0;border-radius:50%;background:#eef4f8;color:#0b2742;font-size:18px;line-height:1;cursor:pointer}
.ccs-merch-popover button:hover{background:#0b2742;color:#fff}

/* 6.1.1-test: merchandising rotation occupies one full banner at a time. */
.ccs-card-merchandising{position:relative;display:block;width:100%;min-height:30px;margin-top:8px}
.ccs-card-merchandising .ccs-merch-badge{position:absolute;inset:0;width:100%;min-height:30px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.ccs-card-merchandising .ccs-merch-badge:first-child{position:relative}

/* 6.1.2-test: center the Quick View dialog in the viewport. */
.ccs-qv{display:none;position:fixed;inset:0;z-index:999999}
.ccs-qv.open{display:block}
.ccs-qv .ccs-qv-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;max-height:calc(100vh - 40px)}
.ccs-qv-skeleton-image{position:relative}
.ccs-qv-skeleton-image .ccs-qv-main{display:block;width:100%;height:auto;max-height:55vh;object-fit:contain;background:#fff;border:1px solid #e5ebf0;border-radius:8px}
.ccs-qv-skeleton-image .ccs-qv-main[src=""]{display:none}
.ccs-qv-skeleton-image span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
@media(max-width:760px){
 .ccs-qv .ccs-qv-dialog{left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 24px);max-height:calc(100vh - 24px);margin:0}
}

/* 6.1.3-test: both Quick View gallery arrows sit above the image. */
.ccs-qv-gallery .ccs-qv-main{position:relative;z-index:1}
.ccs-qv-gallery .ccs-qv-prev,.ccs-qv-gallery .ccs-qv-next{z-index:4}

/* 6.2.0-controlled: merchandising status banners are information labels, not action buttons. */
.ccs-card-merchandising .ccs-merch-badge{
  background-image:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.06) 45%,rgba(0,0,0,.10) 100%);
  border:1px solid rgba(255,255,255,.30);
  border-radius:3px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(11,39,66,.08);
  text-shadow:0 1px 1px rgba(0,0,0,.14);
}

/* 6.2.1-liquid-glass: circular, image-independent gallery controls. */
.ccs-qv-gallery .ccs-qv-prev,
.ccs-qv-gallery .ccs-qv-next{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#0b2742 !important;
  background:rgba(239,247,252,.78) !important;
  border:1px solid rgba(255,255,255,.82) !important;
  box-shadow:
    0 4px 14px rgba(11,39,66,.22),
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 0 -1px 0 rgba(11,39,66,.08) !important;
  -webkit-backdrop-filter:blur(10px) saturate(145%);
  backdrop-filter:blur(10px) saturate(145%);
  text-shadow:none !important;
  z-index:10 !important;
  transition:transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.ccs-qv-gallery .ccs-qv-prev:hover,
.ccs-qv-gallery .ccs-qv-next:hover{
  color:#0b2742 !important;
  background:rgba(218,237,248,.90) !important;
  transform:scale(1.06);
  box-shadow:
    0 6px 18px rgba(11,39,66,.26),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(11,39,66,.08) !important;
}
.ccs-qv-gallery .ccs-qv-prev:focus-visible,
.ccs-qv-gallery .ccs-qv-next:focus-visible{
  outline:3px solid rgba(18,103,177,.75) !important;
  outline-offset:3px;
}
.ccs-qv-gallery .ccs-qv-prev svg,
.ccs-qv-gallery .ccs-qv-next svg,
.ccs-qv-gallery .ccs-qv-prev i,
.ccs-qv-gallery .ccs-qv-next i{
  color:#0b2742 !important;
}
@media(max-width:760px){
  .ccs-qv-gallery .ccs-qv-prev,
  .ccs-qv-gallery .ccs-qv-next{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }
}

/* 6.2.2-fix: Quick View opens at full opacity; Add to Cart is primary/first. */
.ccs-qv.open .ccs-qv-dialog,
.ccs-qv.loading .ccs-qv-dialog{opacity:1 !important}
.ccs-qv-info .actions a:first-child{order:1 !important;background:#1267b1 !important;color:#fff !important}
.ccs-qv-info .actions a:first-child:hover,
.ccs-qv-info .actions a:first-child:focus{background:#0b2742 !important;color:#fff !important}
.ccs-qv-info .actions a:last-child{order:2 !important;background:#eef4f8 !important;color:#0b2742 !important}
.ccs-qv-info .actions a:last-child:hover,
.ccs-qv-info .actions a:last-child:focus{background:#dcebf5 !important;color:#0b2742 !important}

/* 6.2.3-modal-final */
.ccs-qv .ccs-qv-dialog{display:block !important;overflow:hidden}
.ccs-qv .ccs-qv-titlebar{position:relative;padding:24px 76px 20px 32px;border-bottom:1px solid #e5ebf0;background:#fff}
.ccs-qv .ccs-qv-titlebar h2{margin:0 !important;color:#0b2742;font-size:24px;line-height:1.25}
.ccs-qv .ccs-qv-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}
.ccs-qv .ccs-qv-details{display:block !important}
.ccs-qv .ccs-qv-gallery .ccs-qv-prev,.ccs-qv .ccs-qv-gallery .ccs-qv-next{
 width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;
 border-radius:50% !important;color:#0b2742 !important;background:rgba(239,247,252,.82) !important;
 border:1px solid rgba(255,255,255,.9) !important;
 box-shadow:0 4px 14px rgba(11,39,66,.22),inset 0 1px 0 rgba(255,255,255,.95) !important;
 -webkit-backdrop-filter:blur(10px) saturate(145%);backdrop-filter:blur(10px) saturate(145%);
 font-size:42px !important;font-weight:400 !important;line-height:34px !important;z-index:10 !important;
}
.ccs-qv .ccs-qv-gallery .ccs-qv-prev:hover,.ccs-qv .ccs-qv-gallery .ccs-qv-next:hover{background:rgba(218,237,248,.94) !important;transform:translateY(-50%) scale(1.06)}
.ccs-qv .ccs-qv-gallery .ccs-qv-prev:focus-visible,.ccs-qv .ccs-qv-gallery .ccs-qv-next:focus-visible{outline:3px solid rgba(18,103,177,.75) !important;outline-offset:3px}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-add{order:1 !important;background:#1267b1 !important;color:#fff !important}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view{order:2 !important;background:#eef4f8 !important;color:#0b2742 !important}
.ccs-qv.open .ccs-qv-dialog,.ccs-qv.loading .ccs-qv-dialog{opacity:1 !important}
@media(max-width:760px){
 .ccs-qv .ccs-qv-titlebar{padding:20px 60px 16px 20px}.ccs-qv .ccs-qv-titlebar h2{font-size:20px}
 .ccs-qv .ccs-qv-body{grid-template-columns:1fr}
}

/* 6.2.4-quickview-navigation */
.ccs-qv .ccs-qv-dialog{background:#fff !important}
.ccs-qv .ccs-qv-titlebar{background:#fff !important}
.ccs-qv .ccs-qv-body{background:#fff !important}
.ccs-qv .ccs-qv-gallery{background:#fff !important}
.ccs-qv .ccs-qv-image-wrap{position:relative;width:100%;display:block}
.ccs-qv .ccs-qv-image-wrap .ccs-qv-prev,
.ccs-qv .ccs-qv-image-wrap .ccs-qv-next{top:50% !important}
.ccs-qv .ccs-qv-gallery .ccs-qv-prev,
.ccs-qv .ccs-qv-gallery .ccs-qv-next{
 width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;
 border-radius:50% !important;background:rgba(239,247,252,.88) !important;
 color:#0b2742 !important;border:1px solid rgba(255,255,255,.95) !important;
 box-shadow:0 4px 14px rgba(11,39,66,.22),inset 0 1px 0 rgba(255,255,255,.95) !important;
 -webkit-backdrop-filter:blur(10px) saturate(145%);backdrop-filter:blur(10px) saturate(145%);
 font-size:42px !important;line-height:34px !important;z-index:20 !important;
}
.ccs-qv .ccs-qv-product-nav{display:flex;gap:6px;position:absolute;right:62px;top:50%;transform:translateY(-50%)}
.ccs-qv .ccs-qv-product-nav button{
 width:32px;height:32px;padding:0;border:1px solid #dce5ec;border-radius:50%;
 background:#eef4f8;color:#0b2742;font-size:24px;line-height:28px;cursor:pointer
}
.ccs-qv .ccs-qv-product-nav button:hover:not(:disabled){background:#dcebf5}
.ccs-qv .ccs-qv-product-nav button:disabled{opacity:.35;cursor:default}
.ccs-qv .ccs-qv-info .actions{display:flex !important;gap:10px !important}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-add{order:1 !important;background:#1267b1 !important;color:#fff !important}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view{order:2 !important;background:#eef4f8 !important;color:#0b2742 !important}
@media(max-width:760px){
 .ccs-qv .ccs-qv-product-nav{right:54px}
 .ccs-qv .ccs-qv-product-nav button{width:34px;height:34px}
}

/* 6.2.5-controlled: modal surface and product navigation treatment. */
.ccs-qv .ccs-qv-dialog{background:#eef4f8 !important;overflow:hidden !important}
.ccs-qv .ccs-qv-titlebar,
.ccs-qv .ccs-qv-body,
.ccs-qv .ccs-qv-info,
.ccs-qv .ccs-qv-gallery{background:#eef4f8 !important;border-bottom:0 !important}
.ccs-qv .ccs-qv-gallery{padding:28px 28px 18px !important}
.ccs-qv .ccs-qv-image-wrap{background:#fff !important;border:1px solid #e5ebf0;border-radius:8px;position:relative;width:100%;box-sizing:border-box}
.ccs-qv .ccs-qv-main{background:#fff !important;border:0 !important;border-radius:8px !important}
.ccs-qv .ccs-qv-thumbs{background:#eef4f8 !important}
.ccs-qv .ccs-qv-product-nav{
 position:relative !important;
 display:flex !important;
 justify-content:flex-end !important;
 align-items:center !important;
 gap:8px !important;
 padding:0 24px 24px !important;
 background:#eef4f8 !important;
}
.ccs-qv .ccs-qv-product-nav button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:5px;
 min-height:38px;
 width:auto;
 padding:7px 12px;
 border:1px solid #d5e3ec;
 border-radius:6px;
 background:#fff;
 color:#0b2742;
 font-size:12px;
 line-height:20px;
 font-weight:600;
 box-shadow:0 2px 7px rgba(11,39,66,.10);
 cursor:pointer;
}
.ccs-qv .ccs-qv-product-nav button span{
 font-size:25px;
 line-height:16px;
 font-weight:400;
}
.ccs-qv .ccs-qv-product-nav button:hover:not(:disabled){background:#dcebf5}
.ccs-qv .ccs-qv-product-nav button:disabled{opacity:.4;cursor:default}
@media(max-width:760px){
 .ccs-qv .ccs-qv-product-nav{padding:0 14px 14px !important}
 .ccs-qv .ccs-qv-product-nav button{font-size:11px}
}

/* 6.2.6-modal-stable
   Stabilize modal dimensions across products with/without thumbnails. */
.ccs-qv .ccs-qv-dialog{
  height:min(660px,calc(100vh - 40px)) !important;
  max-height:calc(100vh - 40px) !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
}
.ccs-qv .ccs-qv-titlebar{
  background:#eef4f8 !important;
  border:0 !important;
}
.ccs-qv .ccs-qv-body{
  min-height:0 !important;
  overflow:hidden !important;
  background:#eef4f8 !important;
}
.ccs-qv .ccs-qv-gallery{
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
  background:#eef4f8 !important;
  padding:20px 28px 12px !important;
  overflow:hidden !important;
}
.ccs-qv .ccs-qv-image-wrap{
  width:min(100%, 390px, calc(min(660px, 100vh - 40px) - 205px)) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 auto !important;
  box-sizing:border-box !important;
  padding:15px !important;
  background:#fff !important;
  border:1px solid #e5ebf0 !important;
  border-radius:8px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.ccs-qv .ccs-qv-skeleton-image{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  background:#fff !important;
}
.ccs-qv .ccs-qv-main{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  background:#fff !important;
  border:0 !important;
  border-radius:8px !important;
}
.ccs-qv .ccs-qv-thumbs{
  height:62px !important;
  min-height:62px !important;
  margin-top:12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:#eef4f8 !important;
}
.ccs-qv .ccs-qv-thumbs:empty{
  visibility:hidden !important;
}
.ccs-qv .ccs-qv-info{
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
  overflow:auto !important;
  background:#eef4f8 !important;
  padding:28px 32px 20px !important;
}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view{
  background:#fff !important;
  color:#0b2742 !important;
  border:1px solid #d5e3ec !important;
}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view:hover,
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view:focus{
  background:#f7fafc !important;
  color:#0b2742 !important;
}
.ccs-qv .ccs-qv-product-nav{
  position:relative !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px 12px !important;
  background:#eef4f8 !important;
}
.ccs-qv .ccs-qv-product-nav button{
  min-height:38px !important;
  padding:7px 12px !important;
}
.ccs-qv .ccs-qv-product-nav button span{
  font-size:28px !important;
  line-height:15px !important;
}
@media(max-width:760px){
  .ccs-qv .ccs-qv-dialog{
    height:calc(100vh - 24px) !important;
    max-height:calc(100vh - 24px) !important;
  }
  .ccs-qv .ccs-qv-gallery{
    height:auto !important;
    min-height:0 !important;
    padding:14px 18px 10px !important;
  }
  .ccs-qv .ccs-qv-image-wrap{
    width:min(100%, calc(45vh - 20px)) !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
  }
  .ccs-qv .ccs-qv-thumbs{
    height:58px !important;
    min-height:58px !important;
  }
  .ccs-qv .ccs-qv-info{
    height:auto !important;
    max-height:40vh !important;
    padding:20px !important;
  }
  .ccs-qv .ccs-qv-product-nav{
    padding:0 12px 12px !important;
  }
}

/* 6.2.7-layout-fix
   The previous fixed-height rules were applied while the dialog still had its
   original two-column grid. Because the direct children are now title/body/footer,
   the dialog itself must be one column; the body owns the two content columns. */
.ccs-qv .ccs-qv-dialog{
  grid-template-columns:1fr !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  width:min(920px,calc(100vw - 40px)) !important;
}
.ccs-qv .ccs-qv-body{
  grid-column:1 !important;
  grid-row:2 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr) !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
}
.ccs-qv .ccs-qv-titlebar{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.ccs-qv .ccs-qv-product-nav{
  grid-column:1 !important;
  grid-row:3 !important;
  width:100% !important;
  box-sizing:border-box !important;
  justify-content:flex-end !important;
  padding:0 12px 12px !important;
}
.ccs-qv .ccs-qv-gallery{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
}
.ccs-qv .ccs-qv-info{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
}
.ccs-qv .ccs-qv-image-wrap{
  flex:0 0 auto !important;
}
.ccs-qv .ccs-qv-thumbs{
  width:100% !important;
  padding:3px 3px 5px !important;
  box-sizing:border-box !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
}
.ccs-qv .ccs-qv-thumb{
  box-sizing:border-box !important;
  margin:0 !important;
  flex:0 0 62px !important;
  width:62px !important;
  height:62px !important;
}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view{
  background:#fff !important;
  color:#0b2742 !important;
  border:1px solid #d5e3ec !important;
}
@media(max-width:760px){
  .ccs-qv .ccs-qv-body{
    grid-template-columns:1fr !important;
    overflow:auto !important;
  }
  .ccs-qv .ccs-qv-gallery{
    grid-column:1 !important;
    grid-row:1 !important;
    height:auto !important;
  }
  .ccs-qv .ccs-qv-info{
    grid-column:1 !important;
    grid-row:2 !important;
    height:auto !important;
  }
  .ccs-qv .ccs-qv-dialog{
    grid-template-rows:auto minmax(0,1fr) auto !important;
  }
}

/* 6.2.8-thumbnail-carousel */
.ccs-qv .ccs-qv-product-nav{
  justify-content:flex-end !important;
  align-items:center !important;
  padding:0 12px 12px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.ccs-qv .ccs-qv-thumbs-wrap{
  width:100%;
  height:68px;
  min-height:68px;
  display:none;
  align-items:center;
  gap:6px;
  box-sizing:border-box;
  background:#eef4f8;
  overflow:hidden;
  padding:2px 0 4px;
}
.ccs-qv .ccs-qv-thumbs-wrap .ccs-qv-thumbs{
  flex:1 1 auto;
  width:auto !important;
  height:62px !important;
  min-height:62px !important;
  margin:0 !important;
  padding:3px !important;
  display:flex;
  align-items:center;
  gap:8px;
  overflow:hidden !important;
  box-sizing:border-box;
  background:#eef4f8 !important;
}
.ccs-qv .ccs-qv-thumbs-wrap .ccs-qv-thumb{
  flex:0 0 62px !important;
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  min-height:62px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:4px !important;
}
.ccs-qv .ccs-qv-thumbs-prev,
.ccs-qv .ccs-qv-thumbs-next{
  flex:0 0 30px;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  padding:0;
  border:1px solid #d5e3ec;
  border-radius:50%;
  background:#fff;
  color:#0b2742;
  font-size:24px;
  line-height:25px;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(11,39,66,.10);
}
.ccs-qv .ccs-qv-thumbs-prev:hover:not(:disabled),
.ccs-qv .ccs-qv-thumbs-next:hover:not(:disabled){background:#dcebf5}
.ccs-qv .ccs-qv-thumbs-prev:disabled,
.ccs-qv .ccs-qv-thumbs-next:disabled{opacity:.35;cursor:default}
.ccs-qv .ccs-qv-info .actions a.ccs-qv-view{
  background:#fff !important;
  color:#0b2742 !important;
  border:1px solid #d5e3ec !important;
}
@media(max-width:760px){
  .ccs-qv .ccs-qv-thumbs-wrap{height:64px;min-height:64px}
  .ccs-qv .ccs-qv-thumbs-wrap .ccs-qv-thumbs{height:58px !important;min-height:58px !important}
  .ccs-qv .ccs-qv-thumbs-wrap .ccs-qv-thumb{width:54px !important;height:54px !important;min-width:54px !important;min-height:54px !important}
  .ccs-qv .ccs-qv-thumbs-prev,.ccs-qv .ccs-qv-thumbs-next{flex-basis:28px;width:28px;height:28px;min-width:28px;min-height:28px}
  .ccs-qv .ccs-qv-product-nav{padding:0 12px 12px !important}
}

/* 6.2.9-nav-spacing
   Match product-navigation inset to the modal's information-column rhythm. */
.ccs-qv .ccs-qv-product-nav{
  padding:0 20px 20px !important;
}
@media(max-width:760px){
  .ccs-qv .ccs-qv-product-nav{
    padding:0 20px 20px !important;
  }
}

/* 6.2.10-nav-exact
   Anchor the product-navigation group directly to the modal so right and
   bottom insets are identical and independent of footer/grid content. */
.ccs-qv .ccs-qv-dialog{position:absolute !important}
.ccs-qv .ccs-qv-product-nav{
  position:absolute !important;
  right:20px !important;
  bottom:20px !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  z-index:20 !important;
}
@media(max-width:760px){
  .ccs-qv .ccs-qv-product-nav{
    right:20px !important;
    bottom:20px !important;
    padding:0 !important;
  }
}

/* 6.2.11-nav-bottom
   Explicitly cancel the inherited centered-nav transform and define the
   footer control box so the visible buttons sit fully inside the modal. */
.ccs-qv .ccs-qv-product-nav{
  position:absolute !important;
  top:auto !important;
  right:20px !important;
  bottom:20px !important;
  transform:none !important;
  width:auto !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  box-sizing:border-box !important;
}
.ccs-qv .ccs-qv-product-nav button{
  height:38px !important;
  min-height:38px !important;
  box-sizing:border-box !important;
}

/* 6.2.12-variable-epo */
.ccs-qv .ccs-qv-variable-form{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #d6e2ea;
}
.ccs-qv .ccs-qv-variable-form form.variations_form{margin:0}
.ccs-qv .ccs-qv-variable-form .variations{
  width:100%;
  margin:0 0 12px;
  border-collapse:collapse;
}
.ccs-qv .ccs-qv-variable-form .variations td,
.ccs-qv .ccs-qv-variable-form .variations th{
  padding:6px 0;
  text-align:left;
  vertical-align:middle;
}
.ccs-qv .ccs-qv-variable-form .variations label{
  color:#0b2742;font-size:13px;font-weight:600;
}
.ccs-qv .ccs-qv-variable-form .variations select{
  width:100%;min-height:38px;padding:7px 10px;
  border:1px solid #cfdde6;border-radius:6px;
  background:#fff;color:#0b2742;
}
.ccs-qv .ccs-qv-variable-form .reset_variations{font-size:12px}
.ccs-qv .ccs-qv-variable-form .single_variation_wrap{margin-top:10px}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-price{
  margin:8px 0;color:#0b2742;font-size:20px;font-weight:700;
}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-availability{
  margin:6px 0 10px;font-size:13px;
}
.ccs-qv .ccs-qv-variable-form .single_add_to_cart_button{
  min-height:38px;padding:8px 14px;border:0;border-radius:6px;
  background:#1267b1;color:#fff;font-size:12px;font-weight:600;cursor:pointer;
}
.ccs-qv .ccs-qv-variable-form .single_add_to_cart_button:hover{background:#0b2742}

/* Controlled test-page modal polish: close control and square gallery geometry. */
.ccs-qv .ccs-qv-close{
  background:rgba(255,255,255,.84) !important;
  color:#0b2742 !important;
  border:1px solid rgba(255,255,255,.9) !important;
  box-shadow:0 3px 12px rgba(11,39,66,.18) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50% !important;
}
.ccs-qv .ccs-qv-close:hover{background:rgba(255,255,255,.96) !important;box-shadow:0 5px 16px rgba(11,39,66,.24) !important;}
.ccs-qv .ccs-qv-close:focus-visible{outline:3px solid #1267b1 !important;outline-offset:3px;}
.ccs-qv .ccs-qv-image-wrap{aspect-ratio:1 / 1 !important; height:auto !important; flex:0 0 auto !important; padding:15px !important; box-sizing:border-box !important;}
.ccs-qv .ccs-qv-skeleton-image{min-width:0 !important;min-height:0 !important;}
.ccs-qv .ccs-qv-skeleton-image .ccs-qv-main{width:100% !important;height:100% !important;max-height:none !important;object-fit:contain !important;}
@media(max-width:760px){.ccs-qv .ccs-qv-image-wrap{width:min(100%,calc(45vh - 20px)) !important;}}

/* 6.2.14 quantity and variable-product modal layout. Keep the approved footer placement. */
.ccs-qv .ccs-qv-skeleton-image{
  border:0 !important;border-radius:0 !important;max-height:none !important;
  aspect-ratio:auto !important;box-sizing:border-box !important;
}
.ccs-qv .ccs-qv-skeleton-image .ccs-qv-main{border:0 !important;border-radius:0 !important;}
.ccs-qv .ccs-qv-image-wrap{border:0 !important;border-radius:8px !important;padding:18px !important;}
@media(min-width:761px){
 .ccs-qv.ccs-qv-has-options .ccs-qv-dialog{
   height:min(790px,calc(100vh - 40px)) !important;
 }
 .ccs-qv.ccs-qv-has-options .ccs-qv-image-wrap{
   width:min(100%,390px) !important;
 }
}
.ccs-qv .ccs-qv-info{scrollbar-width:none;}
.ccs-qv .ccs-qv-info::-webkit-scrollbar{display:none;}
.ccs-qv .ccs-qv-simple-purchase{align-items:center;gap:10px;margin-top:14px;}
.ccs-qv .ccs-qv-simple-purchase label{font-size:13px;font-weight:600;color:#0b2742;}
.ccs-qv .ccs-qv-simple-purchase input,
.ccs-archive-card .ccs-card-quantity input,
.ccs-qv .ccs-qv-variable-form .quantity input.qty{
  width:66px !important;min-height:36px;box-sizing:border-box;
  background:#fff !important;color:#0b2742 !important;
  border:1px solid #c5d6e2 !important;border-radius:6px !important;
  padding:6px !important;text-align:center;font-size:13px !important;
}
.ccs-archive-card .ccs-card-quantity{display:inline-flex;align-items:center;flex:0 0 auto;}
.ccs-archive-card .ccs-card-quantity input{width:50px !important;min-height:36px;}
.ccs-archive-card .ccs-archive-card-actions{flex-wrap:wrap;}
.ccs-archive-card .ccs-archive-choose-options{
 padding:8px 10px;background:#1267b1;color:#fff;border:0;border-radius:6px;
 font-size:12px;font-weight:600;cursor:pointer;min-height:36px;
}
.ccs-archive-card .ccs-archive-choose-options:hover{background:#0b2742;}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart{
 display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.ccs-qv .ccs-qv-variable-form .quantity{margin:0 !important;}
.ccs-qv .ccs-qv-variable-form .single_add_to_cart_button{margin:0 !important;}
@media(max-width:760px){
 .ccs-qv .ccs-qv-info{scrollbar-width:auto;}
 .ccs-qv .ccs-qv-info::-webkit-scrollbar{display:initial;}
}

/* 6.2.15: Unified, compact quantity controls. The approved modal/nav geometry is unchanged. */
.ccs-archive-card .ccs-archive-card-actions{
  flex-wrap:nowrap;gap:4px;justify-content:flex-end;min-width:0;
}
.ccs-archive-card .ccs-archive-card-actions .ccs-add-to-cart{padding:7px 7px;font-size:11px;flex:0 0 auto;min-height:32px;}
.ccs-archive-card .ccs-archive-card-actions .ccs-icon-action{
  width:29px;height:32px;min-height:32px;flex:0 0 29px;padding:5px;
}
.ccs-archive-card .ccs-archive-card-actions .ccs-icon-action svg{width:17px;height:17px;}
.ccs-qty-stepper{display:inline-flex !important;align-items:center;justify-content:center;white-space:nowrap;
  border:1px solid #c5d6e2;border-radius:6px;background:#fff;box-sizing:border-box;flex:0 0 auto;
  height:32px;min-height:32px;overflow:hidden;gap:0 !important;}
.ccs-qty-stepper .ccs-qty-minus,.ccs-qty-stepper .ccs-qty-plus{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:30px;
  padding:0 !important;margin:0 !important;border:0 !important;border-radius:0 !important;
  background:transparent !important;color:#0b2742 !important;font-size:17px !important;font-weight:600;
  line-height:1;cursor:pointer;box-shadow:none !important;
}
.ccs-qty-stepper .ccs-qty-minus:hover,.ccs-qty-stepper .ccs-qty-plus:hover{background:#e8f1f8 !important;}
.ccs-qty-stepper .ccs-qty-minus:focus-visible,.ccs-qty-stepper .ccs-qty-plus:focus-visible{outline:2px solid #1267b1;outline-offset:-2px;}
.ccs-archive-card .ccs-card-quantity input,
.ccs-qv .ccs-qv-simple-purchase input,
.ccs-qv .ccs-qv-variable-form .quantity input.qty{
  width:28px !important;min-width:28px !important;max-width:28px !important;
  height:30px !important;min-height:30px !important;margin:0 !important;
  padding:0 !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;background:#fff !important;text-align:center;font-size:12px !important;
  appearance:textfield;-moz-appearance:textfield;
}
.ccs-qty-stepper input::-webkit-inner-spin-button,.ccs-qty-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.ccs-qv .ccs-qv-info .actions{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;}
.ccs-qv .ccs-qv-simple-purchase{margin:0 !important;padding:0 !important;flex:0 0 auto;}
.ccs-qv .ccs-qv-simple-purchase label.ccs-qty-stepper{margin:0;}
.ccs-qv .ccs-qv-info .actions .ccs-qv-add,.ccs-qv .ccs-qv-info .actions .ccs-qv-view{
  margin:0;white-space:nowrap;flex:0 0 auto;padding-left:8px;padding-right:8px;
}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart{
  display:flex;align-items:center;flex-wrap:nowrap;gap:8px;
}
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper{margin:0 !important;}
.ccs-qv .ccs-qv-variable-form .single_add_to_cart_button{flex:0 0 auto;white-space:nowrap;margin:0 !important;}

/* 6.2.16: Allow product-card actions to span under the image, without squeezing controls. */
.ccs-archive-card{position:relative;padding-bottom:68px;}
.ccs-archive-card .ccs-archive-card-actions{
  position:absolute;left:18px;right:18px;bottom:18px;width:auto;
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:7px;
  margin:0;box-sizing:border-box;
}
.ccs-archive-card .ccs-archive-card-actions .ccs-add-to-cart{
  padding:8px 13px;font-size:12px;min-height:36px;
}
.ccs-archive-card .ccs-archive-card-actions .ccs-icon-action{
  width:36px;height:36px;min-height:36px;flex:0 0 36px;padding:8px;
}
.ccs-archive-card .ccs-archive-card-actions .ccs-icon-action svg{width:20px;height:20px;}
.ccs-archive-card .ccs-archive-card-actions .ccs-qty-stepper{height:36px;min-height:36px;}
.ccs-archive-card .ccs-archive-card-actions .ccs-qty-stepper .ccs-qty-minus,
.ccs-archive-card .ccs-archive-card-actions .ccs-qty-stepper .ccs-qty-plus{height:34px;}
/* Earlier Divi-era rule forced .actions display:flex!important for every product.
   Variable products use the WooCommerce form, so suppress the duplicate row. */
.ccs-qv.ccs-qv-has-options .ccs-qv-info > .actions{display:none !important;}
/* Restore comfortable width to the simple-product action buttons. */
.ccs-qv:not(.ccs-qv-has-options) .ccs-qv-info .actions > a.ccs-qv-add,
.ccs-qv:not(.ccs-qv-has-options) .ccs-qv-info .actions > a.ccs-qv-view{
  min-height:38px;min-width:105px;padding:9px 16px !important;justify-content:center;
  display:inline-flex;align-items:center;box-sizing:border-box;
}
/* Native variable purchase controls share one row and the same stepper style. */
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart{
  display:flex !important;align-items:center !important;gap:8px !important;
  flex-wrap:nowrap !important;justify-content:flex-start;
}
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper{height:36px;min-height:36px;flex:0 0 auto;}
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper .ccs-qty-minus,
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper .ccs-qty-plus{height:34px;}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  min-height:38px;min-width:105px;padding:9px 14px !important;
  flex:0 0 auto;box-sizing:border-box;
}
.ccs-qv .ccs-qv-variable-form .ccs-qv-variable-view{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;min-width:105px;padding:9px 14px;
  background:#fff;color:#0b2742 !important;border:1px solid #dce5ec;
  border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;
  box-sizing:border-box;flex:0 0 auto;
}
.ccs-qv .ccs-qv-variable-form .ccs-qv-variable-view:hover,
.ccs-qv .ccs-qv-variable-form .ccs-qv-variable-view:focus-visible{background:#e8f1f8;color:#0b2742 !important;}
/* Only allow wrapping where the viewport cannot accommodate a one-line action row. */
@media(max-width:760px){
 .ccs-archive-card{padding-bottom:66px;}
 .ccs-archive-card .ccs-archive-card-actions{left:12px;right:12px;bottom:12px;gap:5px;}
 .ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart{flex-wrap:wrap !important;}
}

/* 6.2.17: Space correction based on test-2 review; preserve nav and gallery controls. */
/* Action row remains full-width, but cards no longer reserve an arbitrary 300px. */
.ccs-archive-card{min-height:0;grid-template-rows:auto auto auto;}
/* Keep a 28px clearance from the content above the bottom-anchored action row. */
.ccs-archive-card{padding-bottom:82px;}
.ccs-archive-card .ccs-archive-card-actions{bottom:18px;}
/* Shorter modal frame, same position for the bottom-right product navigation. */
@media(min-width:761px){
 .ccs-qv .ccs-qv-dialog{height:min(600px,calc(100vh - 40px)) !important;}
 .ccs-qv.ccs-qv-has-options .ccs-qv-dialog{height:min(660px,calc(100vh - 40px)) !important;}
 .ccs-qv .ccs-qv-titlebar{padding-bottom:13px !important;}
 .ccs-qv .ccs-qv-gallery{padding-top:13px !important;padding-bottom:8px !important;}
}
/* Native variable form and simple form: identical stepper control geometry. */
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart .quantity.ccs-qty-stepper,
.ccs-qv .ccs-qv-simple-purchase .ccs-qty-stepper{
 height:36px !important;min-height:36px !important;align-items:center !important;
 border:1px solid #c5d6e2 !important;border-radius:6px !important;background:#fff !important;
 padding:0 !important;overflow:hidden !important;box-sizing:border-box !important;
}
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper input.qty,
.ccs-qv .ccs-qv-simple-purchase .ccs-qty-stepper input{
 height:34px !important;min-height:34px !important;line-height:34px !important;
 width:28px !important;min-width:28px !important;max-width:28px !important;
 border:0 !important;margin:0 !important;padding:0 !important;background:#fff !important;
}
@media(max-width:760px){
 .ccs-archive-card{padding-bottom:78px;}
 .ccs-archive-card .ccs-archive-card-actions{bottom:12px;}
}

/* 6.2.18 controlled fixes: archive intrinsic height, thumbnail track alignment,
   variable purchase footer clearance. Simple-product Quick View is unchanged. */
/* Equal-height grid stretching caused the visually empty area in short cards. */
.ccs-archive-grid{align-items:start;}
.ccs-archive-card{align-self:start;grid-template-rows:auto auto auto;min-height:0;}
/* 36px action row + 18px bottom inset + approx. 28px content clearance. */
.ccs-archive-card{padding-bottom:82px;}
.ccs-archive-card .ccs-archive-card-actions{bottom:18px;}
/* Gallery is centered. Thumbnails must align with the same white square image edge. */
.ccs-qv .ccs-qv-thumbs-wrap{
  align-self:center;
  width:min(100%,390px,calc(min(660px,100vh - 40px) - 205px)) !important;
  height:68px;
  min-height:68px;
  margin-top:12px;
  padding:0 !important;
}
.ccs-qv .ccs-qv-thumbs-wrap .ccs-qv-thumbs{
  padding:3px !important;
  margin:0 !important;
  align-self:center;
}
/* Leave breathing space between variation purchase actions and anchored navigation. */
@media(min-width:761px){
 .ccs-qv.ccs-qv-has-options .ccs-qv-dialog{height:min(700px,calc(100vh - 40px)) !important;}
 .ccs-qv.ccs-qv-has-options .ccs-qv-info{padding-bottom:78px !important;}
}
/* Match native variation quantity with the already approved simple stepper. */
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart .quantity.ccs-qty-stepper{
 display:inline-flex !important; flex-direction:row !important; width:auto !important;
 max-width:none !important; margin:0 !important; gap:0 !important;
}
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper .ccs-qty-minus,
.ccs-qv .ccs-qv-variable-form .quantity.ccs-qty-stepper .ccs-qty-plus{
 display:inline-flex !important;position:static !important;float:none !important;
 width:23px !important;min-width:23px !important;max-width:23px !important;
 height:34px !important;margin:0 !important;padding:0 !important;
}
@media(max-width:760px){
 .ccs-archive-card{padding-bottom:76px;}
 .ccs-qv .ccs-qv-thumbs-wrap{width:min(100%,calc(45vh - 20px)) !important;}
}

/* 6.2.19: Structural card action layout. Actions are now a full-width grid child,
   not an absolutely positioned footer. Keep the established button styling. */
.ccs-archive-card{
  grid-template-rows:auto auto auto auto !important;
  padding-bottom:18px !important;
  align-self:start;
  align-content:start;
}
.ccs-archive-card .ccs-archive-card-info{
  grid-column:2 !important;
  grid-row:2 / span 2 !important;
  align-self:start;
}
.ccs-archive-card .ccs-archive-card-description{margin-bottom:0 !important;}
.ccs-archive-card .ccs-archive-card-actions{
  grid-column:1 / -1 !important;
  grid-row:4 !important;
  position:static !important;
  inset:auto !important;
  margin:28px 0 0 !important;
  width:100% !important;
  justify-self:stretch;
  align-self:start;
}
/* WooCommerce's native variation button can have theme-specific default selectors.
   Scope all overrides to the Quick View native variation purchase form. */
.ccs-qv .ccs-qv-variable-form form.variations_form .single_variation_wrap .quantity.ccs-qty-stepper{
  display:inline-flex !important;align-items:center !important;flex-direction:row !important;
  width:auto !important;height:36px !important;min-height:36px !important;
  border:1px solid #c5d6e2 !important;border-radius:6px !important;
  background:#fff !important;margin:0 !important;padding:0 !important;gap:0 !important;
  float:none !important;overflow:hidden !important;
}
.ccs-qv .ccs-qv-variable-form form.variations_form .single_variation_wrap .quantity.ccs-qty-stepper input.qty{
  width:28px !important;min-width:28px !important;max-width:28px !important;
  height:34px !important;min-height:34px !important;
  margin:0 !important;padding:0 !important;border:0 !important;box-shadow:none !important;
  background:#fff !important;text-align:center !important;float:none !important;
}
.ccs-qv .ccs-qv-variable-form form.variations_form .single_variation_wrap .quantity.ccs-qty-stepper .ccs-qty-minus,
.ccs-qv .ccs-qv-variable-form form.variations_form .single_variation_wrap .quantity.ccs-qty-stepper .ccs-qty-plus{
  display:inline-flex !important;position:static !important;align-items:center !important;
  justify-content:center !important;width:23px !important;min-width:23px !important;
  height:34px !important;margin:0 !important;padding:0 !important;float:none !important;
  background:#fff !important;color:#0b2742 !important;border:0 !important;
}
.ccs-qv .ccs-qv-variable-form form.variations_form .single_variation_wrap button.single_add_to_cart_button{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  min-width:105px !important;min-height:38px !important;
  padding:9px 14px !important;margin:0 !important;border:0 !important;border-radius:6px !important;
  background:#1267b1 !important;color:#fff !important;font-size:12px !important;
  font-weight:600 !important;text-transform:none !important;letter-spacing:normal !important;
  box-shadow:none !important;float:none !important;
}
.ccs-qv .ccs-qv-variable-form form.variations_form button.single_add_to_cart_button:disabled{
  opacity:.55 !important;cursor:not-allowed !important;
}
@media(max-width:699px){
 .ccs-archive-card .ccs-archive-card-info{grid-column:1 !important;grid-row:4 !important;}
 .ccs-archive-card .ccs-archive-card-actions{grid-column:1 !important;grid-row:5 !important;}
 .ccs-archive-card{grid-template-rows:repeat(5,auto) !important;padding-bottom:12px !important;}
}

/* 6.2.20: Targeted refinement; preserve approved Quick View geometry.
   The card grid already allocates the square image and the merchandise row before
   the actions. An additional 28px action margin was doubling the apparent gap. */
.ccs-archive-card .ccs-archive-card-actions{
  margin-top:10px !important;
}
/* All rectangular Quick View purchase/action buttons use the same 38px control
   height and the established Chicago Cop Shop lake-blue/white palette. */
.ccs-qv .ccs-qv-info .actions > a.ccs-qv-add,
.ccs-qv .ccs-qv-info .actions > a.ccs-qv-view,
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.ccs-qv .ccs-qv-variable-form .ccs-qv-variable-view{
  height:38px !important;
  min-height:38px !important;
  box-sizing:border-box !important;
  line-height:1.2 !important;
}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button:not(:disabled){
  background:#1267b1 !important;
  border-color:#1267b1 !important;
  color:#fff !important;
  opacity:1 !important;
}
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button:not(:disabled):hover,
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button:not(:disabled):focus-visible{
  background:#0b2742 !important;
  border-color:#0b2742 !important;
}
/* Keep unavailable variations visibly unavailable without washing out the
   button text. This is a disabled button, not a pale alternative theme. */
.ccs-qv .ccs-qv-variable-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button:disabled{
  background:#7798b2 !important;
  border-color:#7798b2 !important;
  color:#fff !important;
  opacity:1 !important;
  cursor:not-allowed !important;
}
.ccs-qv .ccs-qv-variable-form .ccs-qv-variable-view,
.ccs-qv .ccs-qv-info .actions > a.ccs-qv-view{
  background:#fff !important;
  border:1px solid #dce5ec !important;
  color:#0b2742 !important;
}

/* 6.2.21: Archive actions follow the actual image/information content rather
   than an extra spanning information row. Retain the merchandising row only
   for cards that actually render a merchandising banner. */
.ccs-archive-card{
  grid-template-rows:auto auto auto !important;
  row-gap:0 !important;
  align-content:start !important;
}
.ccs-archive-card .ccs-archive-card-info{
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:start !important;
  height:auto !important;
}
.ccs-archive-card .ccs-archive-card-actions{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  margin:28px 0 0 !important;
  position:static !important;
  align-self:start !important;
}
.ccs-archive-card:has(> .ccs-archive-card-lower > .ccs-card-merchandising) .ccs-archive-card-actions{
  grid-row:4 !important;
}
/* The display:contents lower wrapper preserves the grid's existing placement. */
.ccs-archive-card .ccs-card-merchandising{grid-row:3 !important;}
@media(max-width:699px){
 .ccs-archive-card{grid-template-rows:auto auto auto auto auto !important;}
 .ccs-archive-card .ccs-archive-card-info{grid-column:1 !important;grid-row:4 !important;}
 .ccs-archive-card .ccs-archive-card-actions{grid-column:1 !important;grid-row:5 !important;}
 .ccs-archive-card .ccs-card-merchandising{grid-column:1 !important;grid-row:3 !important;}
}

/* 6.2.24: Only variable-product modals need room for WooCommerce's
   selected-variation price and availability. Leave the approved simple modal
   and absolute-positioned bottom-right navigation geometry untouched. */
@media (min-width:761px){
  .ccs-qv.ccs-qv-has-options .ccs-qv-dialog{
    height:min(770px,calc(100vh - 40px)) !important;
  }
  .ccs-qv.ccs-qv-has-options .ccs-qv-info{
    padding-bottom:116px !important;
  }
}

/* 6.2.26: equal-height archive cards with bottom-aligned action rows.
   Preserve the normal-flow card actions introduced in 6.2.21. The product
   content track takes up surplus row height; no absolute button positioning. */
.ccs-archive-grid{align-items:stretch;}
.ccs-archive-grid > .ccs-archive-card{
  align-self:stretch !important;
  align-content:stretch !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
}
.ccs-archive-grid > .ccs-archive-card .ccs-archive-card-actions{
  grid-row:3 !important;
  align-self:end !important;
  margin-top:28px !important;
}
/* Cards with merchandising badges need a separate badge track. */
.ccs-archive-grid > .ccs-archive-card:has(> .ccs-archive-card-lower > .ccs-card-merchandising){
  grid-template-rows:auto minmax(0,1fr) auto auto !important;
}
.ccs-archive-grid > .ccs-archive-card:has(> .ccs-archive-card-lower > .ccs-card-merchandising) .ccs-archive-card-actions{
  grid-row:4 !important;
}
/* In stacked layout, the info track expands and actions remain the final row. */
@container ccsarchive (max-width:699px){
  .ccs-archive-grid > .ccs-archive-card,
  .ccs-archive-grid > .ccs-archive-card:has(> .ccs-archive-card-lower > .ccs-card-merchandising){
    grid-template-rows:auto auto auto minmax(0,1fr) auto !important;
  }
  .ccs-archive-grid > .ccs-archive-card .ccs-archive-card-actions{grid-row:5 !important;}
}

/* 6.2.27: Stock semantics scoped to archive and Quick View; do not alter layout. */
.ccs-qv .ccs-qv-info .stock.out{color:#a33b3b;}
.ccs-qv .ccs-qv-info .stock.backorder{color:#946500;}
.ccs-qv .ccs-qv-info .stock.in{color:#28734d;}
.ccs-qv .ccs-qv-info .actions .ccs-status-out{background:#b43a3a!important;border:1px solid #a63131!important;color:#fff!important;}
.ccs-archive-card-stock.backorder{color:#946500;}
.ccs-qv .woocommerce-variation-availability .stock.out-of-stock{color:#a33b3b;}
.ccs-qv .woocommerce-variation-availability .stock.on-backorder{color:#946500;}
.ccs-qv .woocommerce-variation-availability .stock.in-stock{color:#28734d;}
