/* Elix Fióra® Product Card Engine 6.5 — single source of truth. */
.ex-product-card{
  --ex-card-swatch-size:12px;
  --ex-card-swatch-gap:6px;
  --ex-card-arrow-size:52px;
  --ex-card-meta-min-height:74px;
  --ex-card-hover-reserve:24px;
  position:relative;
  min-width:0;
  color:#000;
  font-family:inherit;
  --ex-ui-accent:#000;
}
.ex-product-grid--masonry .ex-product-card{break-inside:avoid;margin-bottom:var(--ex-grid-y-gap)}
.ex-product-card *{box-sizing:border-box}

/* Media / gallery */
.ex-product-card__media{position:relative;overflow:hidden;background:#f2f2f2;aspect-ratio:4/5}
.ex-product-card__media-link,.ex-product-card__slides,.ex-product-card__slide{display:block;width:100%;height:100%}
.ex-product-card__slide{position:absolute;inset:0;z-index:0;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transition:opacity .22s ease,visibility .22s ease;backface-visibility:hidden;transform:translateZ(0)}
.ex-product-card__slide.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto}
.ex-product-card__slide img,.ex-product-card__slide .woocommerce-placeholder,.ex-product-card__video{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;image-rendering:auto;transform:translateZ(0);backface-visibility:hidden}
.ex-product-card__video,.ex-product-card__slide--video{background:#ececec}
.ex-product-card__badges{position:absolute;top:13px;left:13px;right:13px;z-index:4;display:flex;gap:8px;align-items:center;pointer-events:none;font-size:10px;line-height:1;text-transform:none}
.ex-product-card__badge--sale{color:#000}.ex-product-card__badge--tag{color:inherit}
.ex-product-card__nav{position:absolute;top:50%;z-index:5;width:56px;height:72px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#000!important;font:300 var(--ex-card-arrow-size)/1 Arial,sans-serif;transform:translateY(-50%);opacity:0;visibility:hidden;transition:opacity .18s ease;cursor:pointer}
.ex-product-card__nav--prev{left:8px}.ex-product-card__nav--next{right:8px}
.ex-product-card__progress{position:absolute;left:0;right:0;bottom:0;z-index:5;height:1px;background:rgba(0,0,0,.12);opacity:0;transition:opacity .18s ease}
.ex-product-card__progress span{position:absolute;left:0;top:0;display:block;height:100%;background:#000;transform-origin:left center;transition:left .22s ease,width .22s ease}
@media (hover:hover) and (pointer:fine){
  .ex-product-card:hover .ex-product-card__nav{opacity:.4;visibility:visible}
  .ex-product-card:hover .ex-product-card__progress{opacity:1}
}

/* Metadata. This remains identical before and after AJAX replacement. */
.ex-product-card__meta{position:relative;min-height:calc(var(--ex-card-meta-min-height) + var(--ex-card-hover-reserve));padding-top:12px;font-size:11px;line-height:1.2}
.ex-product-card__title-row{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important}
.ex-product-card__title{display:block;min-width:0;max-width:100%;color:inherit;text-decoration:none;font-weight:500;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-product-card__swatches{position:relative!important;display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;flex:0 0 auto!important;align-items:center!important;gap:var(--ex-card-swatch-gap)!important;width:auto!important;max-width:none!important;min-width:max-content!important;margin:0;padding:0!important;overflow:visible!important;white-space:nowrap!important;line-height:1!important;z-index:9}
.ex-product-card__swatch{display:block!important;flex:0 0 var(--ex-card-swatch-size)!important;width:var(--ex-card-swatch-size)!important;height:var(--ex-card-swatch-size)!important;min-width:var(--ex-card-swatch-size)!important;min-height:var(--ex-card-swatch-size)!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--ex-swatch,#ddd)!important;box-shadow:none!important}
.ex-product-card__descriptor{display:block;max-height:0;margin-top:0;overflow:hidden;opacity:0;visibility:hidden;color:inherit;transform:translateY(-2px);transition:max-height .2s ease,opacity .2s ease,transform .2s ease,margin-top .2s ease}
.ex-product-card__descriptor span{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1}
.ex-product-card__price-row{display:block;margin-top:8px;font-weight:500}
.ex-product-card__price-row>*+*{margin-left:8px}
.ex-product-card__price--old{opacity:.4;text-decoration:line-through;font-weight:400}
@media (hover:hover) and (pointer:fine){
  .ex-product-card:hover .ex-product-card__descriptor,.ex-product-card:focus-within .ex-product-card__descriptor{max-height:18px;margin-top:6px;opacity:.4;visibility:visible;transform:translateY(0)}
}
.ex-product-card--layout-left .ex-product-card__meta,.ex-product-card--layout-left .ex-product-card__descriptor,.ex-product-card--layout-left .ex-product-card__price-row{text-align:left}
.ex-product-card--layout-left .ex-product-card__title-row{justify-content:space-between!important}
.ex-product-card--layout-left .ex-product-card__title{flex:1 1 auto}
.ex-product-card--layout-left .ex-product-card__swatches{margin-left:auto!important}
.ex-product-card--layout-center .ex-product-card__meta,.ex-product-card--layout-center .ex-product-card__descriptor,.ex-product-card--layout-center .ex-product-card__price-row{text-align:center}
.ex-product-card--layout-center .ex-product-card__title-row{justify-content:center!important}
.ex-product-card--layout-center .ex-product-card__title{flex:0 1 auto}
.ex-product-card--layout-center .ex-product-card__swatches{margin-left:0!important}
.ex-product-grid-wrap.is-full-width .ex-product-card__meta,.ex-product-slider-wrap.is-full-width .ex-product-card__meta,.ex-product-tabs.is-full-width .ex-product-card__meta{padding-left:15px;padding-right:15px}

/* Collection control — exact approved Figma states. */
.ex-product-card__collection,.elementor .ex-product-card button.ex-product-card__collection{
  position:absolute!important;top:14px!important;right:14px!important;bottom:auto!important;left:auto!important;z-index:12!important;
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:100px!important;outline:0!important;-webkit-appearance:none!important;appearance:none!important;
  background:rgba(159,159,159,.20)!important;background-color:rgba(159,159,159,.20)!important;background-image:none!important;
  box-shadow:none!important;color:#fff!important;cursor:pointer!important;mix-blend-mode:normal!important;opacity:1!important;visibility:visible!important;
  -webkit-backdrop-filter:blur(30px)!important;backdrop-filter:blur(30px)!important;transform:none!important;transition:background-color .18s ease!important;
}
.ex-product-card__collection:hover,.ex-product-card__collection:focus-visible,.elementor .ex-product-card button.ex-product-card__collection:hover,.elementor .ex-product-card button.ex-product-card__collection:focus-visible{background:rgba(159,159,159,.40)!important;background-color:rgba(159,159,159,.40)!important;color:#fff!important}
.ex-product-card__collection span,.ex-product-card__collection span::after{position:absolute!important;content:""!important;left:50%!important;top:50%!important;width:16px!important;height:1px!important;background:#fff!important;transform:translate(-50%,-50%)!important}
.ex-product-card__collection span::after{width:1px!important;height:16px!important}
.ex-product-card__collection:focus-visible{outline:1px solid rgba(255,255,255,.8)!important;outline-offset:2px!important}

/* Quick add sizes: one row, max five visible values. */
.ex-product-card__quick-sizes{position:absolute;left:0;right:0;bottom:0;z-index:11;display:flex;align-items:stretch;min-height:48px;background:rgba(26,22,19,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;overflow:hidden}
.ex-product-card__quick-size-pages{flex:1 1 auto;min-width:0;display:flex;align-items:stretch}
.ex-product-card__quick-size-page{width:100%;display:grid!important;grid-template-columns:repeat(var(--ex-size-count,5),minmax(0,1fr))!important;align-items:stretch}
.ex-product-card__quick-size-page[hidden]{display:none!important}
.ex-product-card__quick-size,.elementor .ex-product-card button.ex-product-card__quick-size{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:48px!important;min-width:0!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font:inherit!important;font-size:11px!important;font-weight:400!important;line-height:1!important;text-transform:none!important;cursor:pointer!important;opacity:1;transition:opacity .15s ease!important}
.ex-product-card__quick-size:hover,.ex-product-card__quick-size:focus-visible{opacity:.55;outline:0!important}
.ex-product-card__quick-size:disabled{opacity:.28;cursor:default}
.ex-product-card__quick-size-nav,.elementor .ex-product-card button.ex-product-card__quick-size-nav{flex:0 0 34px!important;width:34px!important;height:48px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font:300 20px/1 Arial,sans-serif!important;cursor:pointer!important;opacity:.8;transition:opacity .15s ease!important}
.ex-product-card__quick-size-nav:hover,.ex-product-card__quick-size-nav:focus-visible{opacity:1;outline:0!important}
.ex-product-card__quick-size-nav:disabled{opacity:.22;cursor:default}
.ex-product-card__added{position:absolute;left:50%;top:58%;z-index:13;min-width:106px;height:48px;padding:0 22px;border-radius:999px;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;font:inherit;font-size:12px;font-weight:500;line-height:1;opacity:0;visibility:hidden;transform:translate(-50%,-50%) scale(.98);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none}
.ex-product-card.is-added .ex-product-card__added{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
@media (hover:hover) and (pointer:fine){
  .ex-product-card:hover .ex-product-card__quick-sizes,.ex-product-card:focus-within .ex-product-card__quick-sizes{opacity:1;visibility:visible;transform:translateY(0)}
  .ex-product-card.is-adding .ex-product-card__quick-sizes,.ex-product-card.is-added .ex-product-card__quick-sizes{opacity:0;visibility:hidden;transform:translateY(5px)}
}
@media (hover:none),(pointer:coarse){.ex-product-card__quick-sizes{display:none!important}}

/* Color overflow menu */
.ex-product-card__swatch-more,.ex-product-card__swatch-more:is(:hover,:focus,:focus-visible,:active){appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 var(--ex-card-swatch-size)!important;width:var(--ex-card-swatch-size)!important;height:var(--ex-card-swatch-size)!important;min-height:var(--ex-card-swatch-size)!important;line-height:var(--ex-card-swatch-size)!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:inherit!important;box-shadow:none!important;outline:none!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;cursor:pointer!important}
.ex-product-card__swatch-popover{position:absolute!important;top:calc(100% + 9px)!important;right:0!important;left:auto!important;display:flex!important;align-items:center!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px!important;max-width:min(210px,80vw)!important;min-width:45px!important;width:max-content!important;margin:0!important;padding:12px!important;background:var(--elix-surface,#fff)!important;border:1px solid rgba(0,0,0,.10)!important;box-shadow:0 5px 15px rgba(0,0,0,.07)!important;z-index:100!important}
.ex-product-card__swatch-popover[hidden]{display:none!important}

/* WooCommerce helper links are never allowed inside the card action strip. */
.ex-product-card .added_to_cart,.ex-product-card a.added_to_cart{display:none!important}
.ex-product-card .screen-reader-text,.ex-product-card__price-row .screen-reader-text,.ex-product-card__price .screen-reader-text{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important;word-wrap:normal!important}

/* Atomic AJAX replacement: never paint raw cards before the browser has committed layout. */
.ex-product-grid.is-grid-committing,[data-ex-grid].is-grid-committing{visibility:hidden!important;opacity:0!important}

@media(max-width:1023px){.ex-product-card__badges{top:10px;left:10px}}
@media(max-width:767px){
  .ex-product-card__meta{font-size:10px;--ex-card-meta-min-height:66px;--ex-card-hover-reserve:20px}
  .ex-product-card__nav{display:none!important}
  .ex-product-card__progress{opacity:1}
}
