@charset "UTF-8";
/* ==========================================================
   MARCO ALIMENTARI
   ECWID LIVE THEME
   Version 3.3
   Last Updated: August 2026

   Notes:
   - Clean baseline created from v3.2
   - Existing CloudSearch styling retained.
   - Custom search placeholder retained.
   - Checkout shipping and total rows remain visible.
   - Search-result cards remain compact.
   - Search-result product images remain enlarged.
   - Mobile search-result refinements retained.
   - Product-card typography hierarchy added.
   - Product-card quantity controls styled.
   - Product-card Add to Basket button styled.
   - Ecwid's real "Add to Basket" label is now used.
   - CSS-generated replacement button text removed.
   - Individual product-page controls are not modified yet.
========================================================== */
/* ==========================================================
   BRAND COLOURS

   Marco Red     #DB1313
   White         #FFFFFF
   Dark Grey     #2F2F2F
   Light Grey    #D8D2C7
   Dark Green    #1F382C
========================================================== */
/* ==========================================================
   FOOTER
========================================================== */
.ec-size.ec-size--s .ec-store .ec-footer a {
  color: #000000;
}

/* ==========================================================
   WHOLESALE PRICE NOTE
========================================================== */
.ec-size .ec-store .product-details__product-price-wholesale-note {
  color: #DB1313;
  font-weight: 600;
}

/* ==========================================================
   BREADCRUMBS
========================================================== */
.ec-store .ec-breadcrumbs,
.ec-store .ec-breadcrumbs a,
.ec-store .ec-breadcrumbs__link,
.ec-store .ec-breadcrumbs__current {
  color: #DB1313 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* ==========================================================
   CLOUDSEARCH / ECWID SEARCH WIDGET
========================================================== */
.ecwid-search-widget {
  width: 100% !important;
  max-width: none !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.ecwid-search-widget > div {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* ==========================================================
   SEARCH INPUT
========================================================== */
.ecwid-search-widget__input {
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #C9C1B4 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  color: #2F2F2F !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 0 58px 0 22px !important;
  outline: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

/* Hide Ecwid placeholder */
.ecwid-search-widget__input::placeholder {
  color: transparent !important;
  opacity: 1 !important;
}

/* Hover */
.ecwid-search-widget__input:hover {
  border-color: #BDB5A9 !important;
}

/* Focus */
.ecwid-search-widget__input:focus {
  border-color: #DB1313 !important;
  box-shadow: 0 0 0 3px rgba(219, 19, 19, 0.08), 0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

/* ==========================================================
   CUSTOM SEARCH PLACEHOLDER
========================================================== */
.ecwid-search-widget::after {
  content: "Search over 2,000 Italian products...";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #6E6E6E;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.20s ease;
}

/* Hide while the search field is focused */
.ecwid-search-widget:focus-within::after {
  opacity: 0;
}

/*
   Keep the custom placeholder hidden when Ecwid retains
   an existing search term.
*/
.ecwid-search-widget:has(
.ecwid-search-widget__input:not(:placeholder-shown)
)::after {
  opacity: 0;
}

/* ==========================================================
   SEARCH BUTTON
========================================================== */
.ecwid-search-widget__btn {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
}

.ecwid-search-widget__btn svg,
.ecwid-search-widget__btn path {
  width: 21px !important;
  height: 21px !important;
  stroke: #2F2F2F !important;
  fill: none !important;
  transition: stroke 0.18s ease;
}

.ecwid-search-widget__btn:hover svg,
.ecwid-search-widget__btn:hover path {
  stroke: #DB1313 !important;
}

/* ==========================================================
   CLOUDSEARCH RESULTS DROPDOWN
========================================================== */
.instant-search-menu,
.instant-search-menu.left {
  background: #FFFFFF !important;
  border: 1px solid #D8D2C7 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08), 0 18px 40px rgba(0, 0, 0, 0.1) !important;
}

/* ==========================================================
   SEARCH RESULTS TYPOGRAPHY
========================================================== */
.instant-search-menu,
.instant-search-menu *,
.instant-search-menu a,
.instant-search-menu div,
.instant-search-menu span {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   INDIVIDUAL SEARCH RESULTS
========================================================== */
.instant-search-menu a {
  display: block !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  padding: 8px 12px !important;
  transition: background-color 0.20s ease, color 0.20s ease;
}

/* Link hover */
.instant-search-menu a:hover {
  background: rgba(219, 19, 19, 0.035) !important;
  color: #DB1313 !important;
}

/* Search match */
.instant-search-menu strong,
.instant-search-menu b {
  color: #2F2F2F !important;
  font-weight: 600 !important;
}

.instant-search-menu em {
  color: #DB1313 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

/* ==========================================================
   SEARCH RESULT ACTIVE / HOVER STATES
========================================================== */
/* Remove Ecwid's default active highlight */
.instant-search-menu dt.active,
.instant-search-menu dt.active:hover {
  background: transparent !important;
}

/* Row hover */
.instant-search-menu .cs-item,
.instant-search-menu li,
.instant-search-menu dt {
  transition: background-color 0.18s ease, box-shadow 0.18s ease !important;
}

.instant-search-menu .cs-item:hover,
.instant-search-menu li:hover,
.instant-search-menu dt:hover {
  background: #FFF8F8 !important;
  box-shadow: inset 3px 0 0 #DB1313 !important;
}

/* ==========================================================
   SEARCH HEADER / DIVIDERS
========================================================== */
.instant-search-menu dt {
  padding: 8px 18px 6px !important;
  font-family: "Poppins", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #777777 !important;
  background: #FAFAFA !important;
  border-bottom: 1px solid #F7F7F7 !important;
}

.instant-search-menu dt:last-child {
  border-bottom: none !important;
}

/* ==========================================================
   SEARCH RESULT SPACING
========================================================== */
.instant-search-menu dt > div {
  padding: 6px 10px !important;
}

.instant-search-menu .cs-item,
.instant-search-menu dt > div {
  min-height: 78px !important;
  box-sizing: border-box !important;
}

/*
   Remove heading-style outer padding from actual
   product-result rows.
*/
.instant-search-menu dt:has(> div) {
  padding: 0 !important;
}

/* Remove unwanted result-row margins */
.instant-search-menu .cs-item,
.instant-search-menu dt:has(> div) {
  margin: 0 !important;
}

/* ==========================================================
   PRODUCT IMAGES IN SEARCH RESULTS
========================================================== */
.instant-search-menu img {
  width: 68px !important;
  height: 68px !important;
  object-fit: contain !important;
  border-radius: 7px !important;
  border: 1px solid #ECECEC !important;
  background: #FFFFFF !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08) !important;
}

/* ==========================================================
   SEARCH RESULTS – MOBILE
========================================================== */
@media screen and (max-width: 767px) {
  .instant-search-menu a {
    padding: 5px 8px !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
  }
  .instant-search-menu dt > div {
    padding: 4px 8px !important;
  }
  .instant-search-menu .cs-item,
.instant-search-menu dt > div {
    min-height: 68px !important;
  }
  .instant-search-menu img {
    width: 62px !important;
    height: 62px !important;
    margin: 0 !important;
  }
}

/* ==========================================================
   SEARCH RESULTS SCROLLBAR
========================================================== */
.instant-search-menu {
  scrollbar-width: thin;
  scrollbar-color: #DB1313 #F5F5F5;
}

.instant-search-menu::-webkit-scrollbar {
  width: 8px;
}

.instant-search-menu::-webkit-scrollbar-track {
  background: #F7F7F7;
}

.instant-search-menu::-webkit-scrollbar-thumb {
  background: #DB1313;
  border-radius: 20px;
}

.instant-search-menu::-webkit-scrollbar-thumb:hover {
  background: #B50F0F;
}

/* ==========================================================
   CART

   Shipping and order total rows are intentionally left
   visible for checkout clarity.
========================================================== */
.ec-store .ec-cart-summary__title,
.ec-store .ec-cart-summary__price {
  font-size: 22px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
}

/* ==========================================================
   CHECKOUT SHIPPING PAGE

   Shipping and order total rows remain visible.
========================================================== */
.ec-size .ecwid-productBrowser.ecwid-productBrowser-ElmCheckoutShippingAddressPage .ec-cart-summary__title,
.ec-size .ecwid-productBrowser.ecwid-productBrowser-ElmCheckoutShippingAddressPage .ec-cart-summary__price {
  font-size: 22px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
}

/* ==========================================================
   PRODUCT CARD SUBTITLE / SHORT DESCRIPTION
========================================================== */
.ec-size .ec-store .grid-product__subtitle,
.ec-size .ec-store .grid-product__subtitle-inner {
  color: #555555 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* ==========================================================
   PRODUCT CARD SKU
========================================================== */
.ec-size .ec-store .grid-product__sku,
.ec-size .ec-store .grid-product__sku-inner {
  color: #8A8A8A !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

/* ==========================================================
   PRODUCT CARD LIST PRICE / ONLINE SAVING
========================================================== */
.ec-size .ec-store .grid-product__price-compare,
.ec-size .ec-store .grid-product__price-compare * {
  color: #666666 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

/* ==========================================================
   PRODUCT CARD QUANTITY CONTROLS
========================================================== */
/* Minus and plus */
.ec-size .ec-store .cstmz-qtyRow .form-control__button {
  background: #1F382C !important;
  color: #FFFFFF !important;
  border: 1px solid #1F382C !important;
  border-radius: 4px !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

/* Minus / plus hover */
.ec-size .ec-store .cstmz-qtyRow .form-control__button:hover {
  background: #DB1313 !important;
  border-color: #DB1313 !important;
  color: #FFFFFF !important;
}

/* Quantity input */
.ec-size .ec-store .cstmz-qtyRow input {
  background: #FFFFFF !important;
  color: #2F2F2F !important;
  border: 1px solid #D8D2C7 !important;
  border-radius: 4px !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

/* Quantity input focus */
.ec-size .ec-store .cstmz-qtyRow input:focus {
  border-color: #DB1313 !important;
  outline: none !important;
}

/* ==========================================================
   PRODUCT CARD ADD TO BASKET BUTTON

   The actual label is controlled through Ecwid's
   Storefront Label Editor:
   BuyNow.buy_now = Add To Basket
========================================================== */
.ec-size .ec-store .cstmz-buyNow {
  width: 100% !important;
  min-height: 36px !important;
  background: #1F382C !important;
  color: #FFFFFF !important;
  border: 1px solid #1F382C !important;
  border-radius: 4px !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

/* Hover */
.ec-size .ec-store .cstmz-buyNow:hover {
  background: #DB1313 !important;
  border-color: #DB1313 !important;
  color: #FFFFFF !important;
}

/* Keyboard focus */
.ec-size .ec-store .cstmz-buyNow:focus {
  background: #1F382C !important;
  border-color: #DB1313 !important;
  color: #FFFFFF !important;
  outline: none !important;
}

/* ==========================================================
   MARCO ALIMENTARI
   MOBILE SHOP LANDING PAGE FILTER CLEANUP

   Main Shop category-card page only.
   Ecwid XXS/mobile storefront only.

   - Hide Category / Brand / Search by Phrase
   - Keep "We Recommend"
========================================================== */
.ec-size.ec-size--xxs
.ec-store.ec-store__category-page--0
.ec-horizontal-filters__wrapper {
  display: none !important;
}

.ec-size.ec-size--xxs
.ec-store.ec-store__category-page--0
.ec-horizontal-filters__container--filters {
  justify-content: flex-end !important;
}

.ec-size.ec-size--xxs
.ec-store.ec-store__category-page--0
.ec-horizontal-filters__sort {
  margin-left: auto !important;
}

/* ==========================================================
   MARCO ALIMENTARI
   MOBILE CART – DELIVERY INFORMATION
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice {
  margin: 12px 0 22px !important;
  padding: 18px !important;
  background: #FCFAF6 !important;
  border: 1px solid #E5DED3 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* Main typography */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice > div {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #2F2F2F !important;
}

/* Paragraph spacing */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p {
  margin: 0 0 13px !important;
}

/* Delivery Information heading */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:first-child {
  margin-bottom: 15px !important;
  color: #1F382C !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* London warning:
   strong text becomes dark green instead of bright red */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:nth-child(2) strong,
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:nth-child(2) b {
  color: #1F382C !important;
  font-weight: 700 !important;
}

/* Nationwide important cut-off times remain Marco red */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:nth-child(3) strong,
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:nth-child(3) b {
  color: #DB1313 !important;
  font-weight: 700 !important;
}

/* Help / delivery-details line */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:last-child {
  margin-top: 2px !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #555555 !important;
}

/* Phone number quieter than the cut-off times */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:last-child strong,
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:last-child b {
  color: #1F382C !important;
  font-weight: 600 !important;
}

/* Delivery page link */
.ec-size.ec-size--xxs
.ec-store
.ecwid-productBrowser-CartPage
.ecwid-checkout-notice p:last-child a {
  color: #DB1313 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ==========================================================
   CART DELIVERY CARD – FINAL VISUAL REFINEMENT
========================================================== */
.ecwid-productBrowser-CartPage .ecwid-checkout-notice {
  margin: 14px 0 26px !important;
  padding: 18px 18px 20px !important;
  background: #FCFAF6 !important;
  border: 1px solid #DDD6CA !important;
  border-radius: 12px !important;
}

/* Slightly tighter body copy */
.ecwid-productBrowser-CartPage .ecwid-checkout-notice > div {
  font-size: 15px !important;
  line-height: 1.42 !important;
}

/* Paragraph rhythm */
.ecwid-productBrowser-CartPage .ecwid-checkout-notice p {
  margin-bottom: 14px !important;
}

/* Heading */
.ecwid-productBrowser-CartPage .ecwid-checkout-notice p:first-child {
  margin-bottom: 16px !important;
}

/* Help line visually quieter */
.ecwid-productBrowser-CartPage .ecwid-checkout-notice p:last-child {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #555555 !important;
}

/* ==========================================================
   MARCO ALIMENTARI
   MOBILE PRODUCT LABELS – PREMIUM HYBRID STYLE

   Marco labels:
   - diagonal top-right ribbon
   - gold star

   All other labels:
   - compact horizontal top-left ribbon
   - one line
   - inverted notch on right

   Existing Ecwid label colours are preserved.
========================================================== */
/* ==========================================================
   SHARED MOBILE LABEL RESET
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label,
.ec-size.ec-size--xs
.ec-store
.grid-product__label {
  position: absolute !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 12px) !important;
  height: auto !important;
  overflow: visible !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

/* ==========================================================
   NORMAL LABELS
   NEW / PROMO / SALE / ETC.

   Small horizontal ribbon from top-left
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label:not([class*="Marco"]),
.ec-size.ec-size--xs
.ec-store
.grid-product__label:not([class*="Marco"]) {
  top: 7px !important;
  left: 7px !important;
  right: auto !important;
}

.ec-size.ec-size--xxs
.ec-store
.grid-product__label:not([class*="Marco"])
.ec-label.label--custom,
.ec-size.ec-size--xs
.ec-store
.grid-product__label:not([class*="Marco"])
.ec-label.label--custom {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 90px !important;
  min-height: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 3px 0 0 3px !important;
  /*
       Inverted V-notch on the right.
    */
  clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 50%, 100% 100%, 0 100%);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.14) !important;
  overflow: hidden !important;
}

.ec-size.ec-size--xxs
.ec-store
.grid-product__label:not([class*="Marco"])
.label__text,
.ec-size.ec-size--xs
.ec-store
.grid-product__label:not([class*="Marco"])
.label__text {
  display: block !important;
  padding: 4px 12px 4px 7px !important;
  margin: 0 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.1px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-transform: none !important;
}

/* ==========================================================
   MARCO LABELS
   DIAGONAL TOP-RIGHT PREMIUM RIBBON
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label[class*="Marco"],
.ec-size.ec-size--xs
.ec-store
.grid-product__label[class*="Marco"] {
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  width: 0 !important;
  height: 0 !important;
  max-width: none !important;
}

/* ==========================================================
   MARCO RIBBON BODY
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label[class*="Marco"]
.ec-label.label--custom,
.ec-size.ec-size--xs
.ec-store
.grid-product__label[class*="Marco"]
.ec-label.label--custom {
  position: absolute !important;
  top: 8px !important;
  right: -38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  height: 20px !important;
  padding: 0 5px !important;
  margin: 0 !important;
  border-radius: 2px !important;
  transform: rotate(45deg) !important;
  transform-origin: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden !important;
}

/* ==========================================================
   MARCO RIBBON TEXT
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label[class*="Marco"]
.label__text,
.ec-size.ec-size--xs
.ec-store
.grid-product__label[class*="Marco"]
.label__text {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 7.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  text-transform: none !important;
}

/* ==========================================================
   GOLD STAR ON EVERY MARCO LABEL
========================================================== */
.ec-size.ec-size--xxs
.ec-store
.grid-product__label[class*="Marco"]
.label__text::before,
.ec-size.ec-size--xs
.ec-store
.grid-product__label[class*="Marco"]
.label__text::before {
  content: "★ " !important;
  color: #F2C94C !important;
  font-size: 8px !important;
  font-weight: 700 !important;
}

/* ==========================================================
   MARCO ALIMENTARI
   MOBILE PRODUCT CARDS – PREMIUM REFINEMENT
========================================================== */
/* ----------------------------------------------------------
   CARD
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__wrap-inner,
.ec-size.ec-size--xs
.ec-store
.grid-product__wrap-inner {
  border: 1px solid #EEE8DE !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.045) !important;
  overflow: hidden !important;
}

/* ----------------------------------------------------------
   PRODUCT TITLE
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__title-inner,
.ec-size.ec-size--xs
.ec-store
.grid-product__title-inner {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: #222222 !important;
}

/* ----------------------------------------------------------
   SHORT DESCRIPTION
   Maximum 2 lines
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__subtitle,
.ec-size.ec-size--xxs
.ec-store
.grid-product__subtitle-inner,
.ec-size.ec-size--xs
.ec-store
.grid-product__subtitle,
.ec-size.ec-size--xs
.ec-store
.grid-product__subtitle-inner {
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: #666666 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* ----------------------------------------------------------
   HIDE SKU ON MOBILE
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__sku,
.ec-size.ec-size--xxs
.ec-store
.grid-product__sku-inner,
.ec-size.ec-size--xs
.ec-store
.grid-product__sku,
.ec-size.ec-size--xs
.ec-store
.grid-product__sku-inner {
  display: none !important;
}

/* ----------------------------------------------------------
   LIST PRICE / SAVING
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__price-compare,
.ec-size.ec-size--xxs
.ec-store
.grid-product__price-compare *,
.ec-size.ec-size--xs
.ec-store
.grid-product__price-compare,
.ec-size.ec-size--xs
.ec-store
.grid-product__price-compare * {
  font-size: 11px !important;
  line-height: 1.25 !important;
  color: #777777 !important;
}

/* ----------------------------------------------------------
   CURRENT SELLING PRICE
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.grid-product__price,
.ec-size.ec-size--xxs
.ec-store
.grid-product__price-amount,
.ec-size.ec-size--xs
.ec-store
.grid-product__price,
.ec-size.ec-size--xs
.ec-store
.grid-product__price-amount {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #DB1313 !important;
}

/* ----------------------------------------------------------
   QUANTITY CONTROLS
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.cstmz-qtyRow .form-control__button,
.ec-size.ec-size--xs
.ec-store
.cstmz-qtyRow .form-control__button {
  min-height: 38px !important;
  font-size: 14px !important;
  border-radius: 5px !important;
}

.ec-size.ec-size--xxs
.ec-store
.cstmz-qtyRow input,
.ec-size.ec-size--xs
.ec-store
.cstmz-qtyRow input {
  min-height: 38px !important;
  font-size: 13px !important;
  text-align: center !important;
}

/* ----------------------------------------------------------
   ADD TO BASKET BUTTON
---------------------------------------------------------- */
.ec-size.ec-size--xxs
.ec-store
.cstmz-buyNow,
.ec-size.ec-size--xs
.ec-store
.cstmz-buyNow {
  min-height: 42px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25px !important;
  box-shadow: 0 2px 5px rgba(31, 56, 44, 0.1) !important;
}

/* ==========================================================
   MARCO ALIMENTARI
   ECWID TYPOGRAPHY SYSTEM v1

   Purpose:
   - Consistent Poppins typography across Ecwid
   - Clear heading hierarchy
   - Consistent product titles / prices / body copy
   - Cleaner cart, checkout, account and forms
   - Mobile refinements via Ecwid XXS / XS size classes

   IMPORTANT:
   Display typography only.
   Does NOT alter product data, functionality or URLs.
========================================================== */
/* ==========================================================
   GLOBAL FONT
========================================================== */
.ec-store,
.ec-store button,
.ec-store input,
.ec-store select,
.ec-store textarea {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* ==========================================================
   MAIN PAGE TITLES
========================================================== */
.ec-store .ec-header-h1,
.ec-store .ec-page-title,
.ec-store h1 {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.3px !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   SECTION HEADINGS
========================================================== */
.ec-store .ec-header-h2,
.ec-store h2 {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #1F382C !important;
}

.ec-store .ec-header-h3,
.ec-store h3 {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   GENERAL BODY COPY
========================================================== */
.ec-store .ec-text,
.ec-store p {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #2F2F2F;
}

/* ==========================================================
   PRODUCT GRID TITLES
========================================================== */
.ec-store .grid-product__title,
.ec-store .grid-product__title-inner {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.1px !important;
  color: #222222 !important;
}

/* ==========================================================
   PRODUCT PAGE TITLE
========================================================== */
.ec-store .product-details__product-title {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.25px !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   PRODUCT SHORT DESCRIPTION
========================================================== */
.ec-store .grid-product__subtitle,
.ec-store .grid-product__subtitle-inner {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #666666 !important;
}

/* ==========================================================
   PRODUCT DESCRIPTION
========================================================== */
.ec-store .product-details__product-description,
.ec-store .product-details__description {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #3F3F3F !important;
}

/* ==========================================================
   META / SKU / SECONDARY INFORMATION
========================================================== */
.ec-store .grid-product__sku,
.ec-store .grid-product__sku-inner,
.ec-store .product-details__product-sku {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: #888888 !important;
}

/* ==========================================================
   PRODUCT PRICES
========================================================== */
.ec-store .grid-product__price,
.ec-store .grid-product__price-amount,
.ec-store .product-details__product-price {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #DB1313 !important;
}

/* ==========================================================
   LIST PRICE / SAVING
========================================================== */
.ec-store .grid-product__price-compare,
.ec-store .grid-product__price-compare * {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: #777777 !important;
}

/* ==========================================================
   BREADCRUMBS
========================================================== */
.ec-store .ec-breadcrumbs,
.ec-store .ec-breadcrumbs a,
.ec-store .ec-breadcrumbs__link,
.ec-store .ec-breadcrumbs__current {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #DB1313 !important;
}

/* ==========================================================
   BUTTON TYPOGRAPHY
========================================================== */
.ec-store button,
.ec-store .button,
.ec-store .form-control__button,
.ec-store .cstmz-buyNow {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15px !important;
}

/* ==========================================================
   FORMS / CHECKOUT
========================================================== */
.ec-store input,
.ec-store select,
.ec-store textarea,
.ec-store .form-control__text,
.ec-store .form-control__select-text {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #2F2F2F !important;
}

.ec-store .form-control__label {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2F2F2F !important;
}

.ec-store .form-control__checkbox-text,
.ec-store .form-control__radio-text {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   CART / CHECKOUT SUMMARY
========================================================== */
.ec-store .ec-cart-summary__title {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #2F2F2F !important;
}

.ec-store .ec-cart-summary__price {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2F2F2F !important;
}

/* ==========================================================
   MOBILE – XXS / XS
========================================================== */
.ec-size.ec-size--xxs .ec-store .ec-header-h1,
.ec-size.ec-size--xxs .ec-store .ec-page-title,
.ec-size.ec-size--xxs .ec-store h1,
.ec-size.ec-size--xs .ec-store .ec-header-h1,
.ec-size.ec-size--xs .ec-store .ec-page-title,
.ec-size.ec-size--xs .ec-store h1 {
  font-size: 26px !important;
  line-height: 1.18 !important;
}

.ec-size.ec-size--xxs .ec-store .ec-header-h2,
.ec-size.ec-size--xxs .ec-store h2,
.ec-size.ec-size--xs .ec-store .ec-header-h2,
.ec-size.ec-size--xs .ec-store h2 {
  font-size: 20px !important;
}

.ec-size.ec-size--xxs .ec-store .grid-product__title,
.ec-size.ec-size--xxs .ec-store .grid-product__title-inner,
.ec-size.ec-size--xs .ec-store .grid-product__title,
.ec-size.ec-size--xs .ec-store .grid-product__title-inner {
  font-size: 14px !important;
  line-height: 1.28 !important;
}

.ec-size.ec-size--xxs .ec-store .product-details__product-title,
.ec-size.ec-size--xs .ec-store .product-details__product-title {
  font-size: 23px !important;
  line-height: 1.2 !important;
}

.ec-size.ec-size--xxs .ec-store p,
.ec-size.ec-size--xxs .ec-store .ec-text,
.ec-size.ec-size--xs .ec-store p,
.ec-size.ec-size--xs .ec-store .ec-text {
  font-size: 14px !important;
  line-height: 1.48 !important;
}

.ec-size.ec-size--xxs .ec-store .grid-product__subtitle,
.ec-size.ec-size--xxs .ec-store .grid-product__subtitle-inner,
.ec-size.ec-size--xs .ec-store .grid-product__subtitle,
.ec-size.ec-size--xs .ec-store .grid-product__subtitle-inner {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.ec-size.ec-size--xxs .ec-store .grid-product__price,
.ec-size.ec-size--xxs .ec-store .grid-product__price-amount,
.ec-size.ec-size--xs .ec-store .grid-product__price,
.ec-size.ec-size--xs .ec-store .grid-product__price-amount {
  font-size: 18px !important;
}

.ec-size.ec-size--xxs .ec-store .grid-product__price-compare,
.ec-size.ec-size--xxs .ec-store .grid-product__price-compare *,
.ec-size.ec-size--xs .ec-store .grid-product__price-compare,
.ec-size.ec-size--xs .ec-store .grid-product__price-compare * {
  font-size: 11px !important;
}

.ec-size.ec-size--xxs .ec-store .ec-breadcrumbs,
.ec-size.ec-size--xxs .ec-store .ec-breadcrumbs a,
.ec-size.ec-size--xxs .ec-store .ec-breadcrumbs__link,
.ec-size.ec-size--xxs .ec-store .ec-breadcrumbs__current,
.ec-size.ec-size--xs .ec-store .ec-breadcrumbs,
.ec-size.ec-size--xs .ec-store .ec-breadcrumbs a,
.ec-size.ec-size--xs .ec-store .ec-breadcrumbs__link,
.ec-size.ec-size--xs .ec-store .ec-breadcrumbs__current {
  font-size: 13px !important;
}

/*
   Keep mobile form controls at 16px.
   This also prevents browser zoom behaviour on some devices.
*/
.ec-size.ec-size--xxs .ec-store input,
.ec-size.ec-size--xxs .ec-store select,
.ec-size.ec-size--xxs .ec-store textarea,
.ec-size.ec-size--xs .ec-store input,
.ec-size.ec-size--xs .ec-store select,
.ec-size.ec-size--xs .ec-store textarea {
  font-size: 16px !important;
}

/* MARCO CATEGORY LAYOUT v1 — 2026-09-22
   Main shop category tiles only. Existing theme retained above.
   Remove this block to restore the previous tile layout. */
.ec-store.ec-store__category-page--0 .grid__categories {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ec-store.ec-store__category-page--0 .grid__categories::before,
.ec-store.ec-store__category-page--0 .grid__categories::after {
  display: none !important;
}

.ec-store.ec-store__category-page--0 .grid-category {
  display: block !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

.ec-store.ec-store__category-page--0 .grid-category__wrap,
.ec-store.ec-store__category-page--0 .grid-category__wrap-inner,
.ec-store.ec-store__category-page--0 .grid-category__card {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.ec-store.ec-store__category-page--0 .grid-category__card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #E5DED3 !important;
  border-radius: 5px !important;
  background: #FCFAF6 !important;
}

.ec-store.ec-store__category-page--0 .grid-category__image {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/2 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.ec-store.ec-store__category-page--0 .grid-category__image-wrap,
.ec-store.ec-store__category-page--0 .grid-category__picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.ec-store.ec-store__category-page--0 .grid-category__picture-img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.ec-store.ec-store__category-page--0 .grid-category__spacer,
.ec-store.ec-store__category-page--0 .grid-category__image-spacer,
.ec-store.ec-store__category-page--0 .grid-category__shadow,
.ec-store.ec-store__category-page--0 .grid-category__hover-wrap {
  display: none !important;
}

.ec-store.ec-store__category-page--0 .grid-category__title {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  inset: auto !important;
  flex: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  background: #FCFAF6 !important;
  opacity: 1 !important;
  color: #2F2F2F !important;
  text-shadow: none !important;
  text-decoration: none !important;
  text-align: left !important;
  transform: none !important;
  visibility: visible !important;
}

.ec-store.ec-store__category-page--0 .grid-category__title-inner {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
  font-family: 'Poppins',Arial,sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: inherit !important;
  text-shadow: none !important;
}

.ec-store.ec-store__category-page--0 .grid-category__title:hover {
  color: #DB1313 !important;
}

.ec-store.ec-store__category-page--0 .grid-category__title:focus-visible {
  outline: 2px solid #DB1313 !important;
  outline-offset: -3px !important;
}

@media (min-width: 600px) {
  .ec-store.ec-store__category-page--0 .grid__categories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 900px) {
  .ec-store.ec-store__category-page--0 .grid__categories {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  .ec-store.ec-store__category-page--0 .grid__categories {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

/* END MARCO CATEGORY LAYOUT v1 */
/* Fiasconaro 750g box baselines - 2026-10-08
   Align the original box photographs to the 95.125% floor used by the
   500g range. Asset-specific rules preserve other products and hover photos. */
.ec-store img.grid-product__picture[src*="/products/239956555/6307708942."] {
  transform: translateY(14.75%) !important;
}

.ec-store img.grid-product__picture[src*="/products/239964012/6307738102."] {
  transform: translateY(12.125%) !important;
}

.ec-store img.grid-product__picture[src*="/products/397877004/6307716072."] {
  transform: translateY(9.5%) !important;
}

/* End Fiasconaro 750g box baselines */
/* D&G tin image alignment - 2026-10-08
   Original artwork retained. Common 95.125% baseline matches Fiasconaro.
   500g tins use a 72% width; 1kg cylindrical tins use 86%.
   Taller Samperi, square Mandarin and tins with gift cards keep their proportions. */
.ec-store img.grid-product__picture[src*="/products/240049231/5867567647."] {
  transform-origin: 50% 50% !important;
  transform: translate(0%, 0.8906%) scale(0.984953) !important;
}

.ec-store img.grid-product__picture[src*="/products/240046108/5867567673."] {
  transform-origin: 50% 50% !important;
  transform: translate(-1.0652%, 6.0788%) scale(0.983385) !important;
}

.ec-store img.grid-product__picture[src*="/products/699420694/5867878669."] {
  transform-origin: 50% 50% !important;
  transform: translate(0%, 18.3346%) scale(0.870563) !important;
}

.ec-store img.grid-product__picture[src*="/products/700466547/5867878965."] {
  transform-origin: 50% 50% !important;
  transform: translate(-0.0374%, 15.7418%) scale(0.747664) !important;
}

.ec-store img.grid-product__picture[src*="/products/593821881/5867889175."] {
  transform-origin: 50% 50% !important;
  transform: translate(-0.1604%, 7.9011%) scale(0.930597) !important;
}

.ec-store img.grid-product__picture[src*="/products/784790705/5867572431."] {
  transform-origin: 50% 50% !important;
  transform: translate(0%, 5.3876%) scale(0.919963) !important;
}

.ec-store img.grid-product__picture[src*="/products/240035811/5867568835."] {
  transform-origin: 50% 50% !important;
  transform: translate(-0.883%, 9.67%) scale(0.904148) !important;
}

.ec-store img.grid-product__picture[src*="/products/496283440/5867905561."] {
  transform-origin: 50% 50% !important;
  transform: translate(0.1213%, 6.613%) scale(0.915797) !important;
}

.ec-store img.grid-product__picture[src*="/products/593858817/5867888749."] {
  transform-origin: 50% 50% !important;
  transform: translate(0%, 37.0029%) scale(0.519585) !important;
}

.ec-store img.grid-product__picture[src*="/products/496284903/5867904871."] {
  transform-origin: 50% 50% !important;
  transform: translate(0.1873%, 10.3002%) scale(0.998672) !important;
}

/* End D&G tin image alignment */
/* Oro Verde 1kg gift box baseline — 8 October 2026. */
.ec-store img.grid-product__picture[src*="/products/401616905/5867921293."] {
  transform: translateY(10.0601%) !important;
}

/* Oro Nero 1kg gift box baseline — 8 October 2026. */
.ec-store img.grid-product__picture[src*="/products/401616972/5867920799."] {
  transform: translateY(13.2948%) !important;
}

/* Oro di Manna 1kg gift box alignment — 8 October 2026. */
.ec-store img.grid-product__picture[src*="/products/401680779/5867917243."] {
  transform-origin: 50% 50% !important;
  transform: translateY(12.6566%) scale(1.04737) !important;
}

/* Marron Noir 1kg current gift box baseline — 8 October 2026. */
.ec-store img.grid-product__picture[src*="/products/401667121/6310159332."] {
  transform: translateY(15.3%) !important;
}

/* Favourites action alignment — 13 October 2026.
   Keep quantity, Add and favourite controls together at the foot of each
   equal-height card. Titles, trade prices and bulk offers remain unrestricted. */
.ec-size .ec-store.ec-store__favorites-page .grid-product__wrap-inner {
  display: flex !important;
  flex-direction: column !important;
}

.ec-size .ec-store.ec-store__favorites-page .grid-product__wrap-inner > .grid-product__like {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}
