/* jetprint cookie consent banner */
#jp-cc{position:fixed;left:0;right:0;bottom:0;z-index:10000;background:#fff;color:#414141;border-top:3px solid #2fb5d2;box-shadow:0 -2px 12px rgba(0,0,0,.15);font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4}
#jp-cc[hidden]{display:none}
#jp-cc .jp-cc-inner{max-width:1140px;margin:0 auto;padding:10px 15px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
#jp-cc .jp-cc-text{flex:1 1 420px;margin:0;font-size:inherit;line-height:inherit;color:inherit}
#jp-cc .jp-cc-text a{color:#2fb5d2;text-decoration:underline}
#jp-cc .jp-cc-prefs{flex:1 1 100%;display:flex;flex-direction:column;gap:6px;padding:4px 0}
#jp-cc .jp-cc-prefs[hidden]{display:none}
#jp-cc .jp-cc-opt{margin:0;font-weight:400;cursor:pointer;font-size:inherit}
#jp-cc .jp-cc-opt span{color:#7a7a7a}
#jp-cc .jp-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
#jp-cc .jp-cc-btn{min-width:120px;padding:8px 14px;border:1px solid #2fb5d2;background:#2fb5d2;color:#fff;font:600 13px/1.2 "Open Sans",sans-serif;text-transform:uppercase;cursor:pointer;border-radius:0}
#jp-cc .jp-cc-btn[data-act=custom],#jp-cc .jp-cc-btn[data-act=save]{background:#fff;color:#2fb5d2}
#jp-cc .jp-cc-btn[hidden]{display:none}
#jp-cc .jp-cc-btn:hover,#jp-cc .jp-cc-btn:focus{filter:brightness(.92)}
@media (max-width:767px){
  #jp-cc{font-size:12px}
  #jp-cc .jp-cc-inner{padding:8px 10px;gap:6px}
  #jp-cc .jp-cc-text{flex-basis:100%}
  #jp-cc .jp-cc-btns{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}
  #jp-cc .jp-cc-btn{min-width:0;padding:8px 6px;font-size:12px}
  #jp-cc .jp-cc-btn[data-act=custom],#jp-cc .jp-cc-btn[data-act=save]{grid-column:1 / -1;order:3;border:0;background:none;text-decoration:underline;padding:2px;text-transform:none}
}

.jp-cookie-settings-wrap{text-align:center;margin:4px 0 10px;font-size:13px}
.jp-cookie-settings-wrap a{color:#414141;text-decoration:underline}

/* jetprint product cards: equal-height grid on phones/tablets (desktop keeps the fixed 257px cards)
   applies to every list: home (popular/new), category, search, accessories ("Também poderá gostar") */
@media (max-width: 991px) {
  #products .products, .featured-products .products, .product-accessories .products {
    display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; margin-left: -5px; margin-right: -5px; }
  #products .products > div, .featured-products .products > div, .product-accessories .products > div {
    display: flex; float: none; width: 33.3333%; max-width: 33.3333%; padding: 0 5px; margin: 0 0 10px; }
  #products .products > div > .product-miniature, .featured-products .products > div > .product-miniature, .product-accessories .products > div > .product-miniature {
    display: flex; flex-direction: column; width: 100%; margin: 0; }
  #products .thumbnail-container, .featured-products .thumbnail-container, .product-accessories .thumbnail-container {
    display: flex; flex-direction: column; width: auto !important; height: 100% !important; margin: 0 !important; overflow: hidden; }
  #products .product-thumbnail, .featured-products .product-thumbnail, .product-accessories .product-thumbnail {
    display: block; aspect-ratio: 1 / 1; width: 100%; flex: 0 0 auto; background: #fff; }
  #products .product-thumbnail img, .featured-products .product-thumbnail img, .product-accessories .product-thumbnail img {
    display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
  #products .product-description, .featured-products .product-description, .product-accessories .product-description {
    position: static !important; width: auto !important; height: auto !important; bottom: auto !important;
    flex: 1 1 auto; display: flex; flex-direction: column; margin: 0 !important; padding: 8px 8px 10px !important; background: #fff; }
  #products .product-title, .featured-products .product-title, .product-accessories .product-title {
    height: auto !important; margin: 0 0 6px !important; min-height: calc(2 * 1.35em); line-height: 1.35; text-transform: none; }
  #products .product-title a, .featured-products .product-title a, .product-accessories .product-title a {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; font-size: 14px; }
  #products .product-price-and-shipping, .featured-products .product-price-and-shipping, .product-accessories .product-price-and-shipping {
    position: static !important; margin: auto 0 0 !important; text-align: center; font-size: 16px; line-height: 1.2; }
  #products .add-to-cart-form, .featured-products .add-to-cart-form, .product-accessories .add-to-cart-form {
    width: auto !important; height: auto !important; margin: 6px 0 0 !important; background: transparent; }
  .products .add-to-cart-form form { display: flex; justify-content: center; align-items: stretch; gap: 4px; margin: 0; }
  .products .add-to-cart-form input[name=qty] { float: none !important; margin: 0 !important; width: 52px !important; padding: 6px 4px !important; height: auto; }
  .products .add-to-cart-form button { position: static !important; float: none !important; margin: 0 !important; padding: 6px 12px; }
  .products .add-to-cart-form button .material-icons { font-size: 20px; line-height: 1; }
  .products .product-miniature .product-list-reviews, .products .product-miniature [class*=revws] { margin-top: 6px; font-size: 12px; text-align: center; }
  /* flags/badges overlay the image and never change the card height */
  .products .product-miniature .product-flags { position: absolute; top: 0; left: 0; margin: 0; pointer-events: none; z-index: 2; }
  .products .product-miniature .product-flags li { font-size: 11px; padding: 2px 6px; margin-top: 4px; min-width: 0; }
  .products .product-miniature .discount-product { font-size: 12px; }
  .products .product-miniature .regular-price { font-size: 12px; }
}
@media (min-width: 576px) and (max-width: 767px) {
  #products .products > div, .featured-products .products > div, .product-accessories .products > div { width: 50%; max-width: 50%; }
}
/* phones: 1 card per row, centred, never wider than the native home_default image (no upscaling/blur) */
@media (max-width: 575px) {
  #products .products, .featured-products .products, .product-accessories .products { justify-content: center; margin-left: 0; margin-right: 0; }
  #products .products > div, .featured-products .products > div, .product-accessories .products > div {
    width: 100%; max-width: 282px; padding: 0; margin: 0 auto 14px; }
  #products .product-thumbnail, .featured-products .product-thumbnail, .product-accessories .product-thumbnail { padding: 8px; }
  #products .product-thumbnail img, .featured-products .product-thumbnail img, .product-accessories .product-thumbnail img { max-width: 250px; margin: 0 auto; }
}
/* never upscale the list image beyond its native size */
#products .product-thumbnail img, .featured-products .product-thumbnail img, .product-accessories .product-thumbnail img { max-width: 250px; margin-left: auto; margin-right: auto; }

/* footer copyright (theme font/colour instead of the old inline pink cursive) */
.jp-copyright{font-family:"Open Sans",sans-serif;color:#7a7a7a;font-size:.875rem;margin:10px 0}
.jp-copyright a{color:#7a7a7a;text-decoration:underline}
.jp-copyright .jp-sep{margin:0 6px}
#checkout #footer .jp-copyright{padding:10px 0}

/* cart modal (PS 9 markup): theme.css sets .col-md-7 to 65%, which wraps next to .col-md-5 */
@media (min-width: 768px) { #blockcart-modal .modal-body > .row > .col-md-7 { width: 58.33333%; } }
