/* Native price/order child typography and widths remain untouched; only the owned footer slot moves. */
.od-catalogue-colours{display:grid;grid-template-columns:repeat(5,minmax(24px,1fr));gap:0;position:relative;min-width:120px;width:100%;max-width:100%;flex:0 0 auto;order:0;margin-top:auto;margin-bottom:6px;align-items:center}
.od-catalogue-colours-swatch{appearance:none;display:grid;place-items:center;width:100%;min-width:24px;min-height:28px;margin:0;padding:3px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}
.od-catalogue-colours-swatch::before{content:"";display:block;width:14px;height:14px;border-radius:50%;border:1px solid rgb(0 0 0 / 25%);background:var(--od-catalogue-colour)}
.od-catalogue-colours-swatch[aria-pressed=true]::before{outline:2px solid currentColor;outline-offset:2px}
.od-catalogue-colours-swatch:focus-visible{outline:2px solid currentColor;outline-offset:-1px}
.od-catalogue-colours-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.od-product-card-gallery.od-catalogue-colours-gallery{position:relative}
.od-product-card-gallery>.od-catalogue-colours-photo{position:absolute!important;inset:0;z-index:3;width:100%!important;height:100%!important;max-width:none;object-fit:contain;background:#fff;pointer-events:none}
.od-product-card-gallery>.od-catalogue-colours-photo[hidden]{display:none!important}

/* Actual available-width fit only. Fine-pointer desktop; narrow/touch stays above price. */
.item-catalog.od-catalogue-colours-ready>.view__property.od-catalogue-colours-price-row.od-catalogue-colours-inline{flex-wrap:nowrap}
.od-catalogue-colours-inline>.od-catalogue-colours{flex:0 0 var(--od-catalogue-inline-width,120px);width:var(--od-catalogue-inline-width,120px);min-width:0;grid-template-columns:repeat(5,minmax(0,1fr));order:0;margin:0 var(--od-catalogue-inline-gap,4px)}
.od-catalogue-colours-inline>.od-catalogue-colours>.od-catalogue-colours-swatch{min-width:0}

/* Above-price slot on only an enhanced card or an unenhanced peer in that actual row. */
.item-catalog.od-catalogue-colours-ready>.view__property.od-catalogue-colours-price-row:not(.od-catalogue-colours-inline),
.item-catalog.od-catalog-card>.view__property.od-catalogue-reservation-target{margin-top:0!important}
.item-catalog.od-catalog-card>.od-catalogue-colours-row-reserved{display:block;flex:0 0 auto;width:100%;height:28px;margin-top:auto;margin-bottom:6px;pointer-events:none}

/* Phone-only edge alignment; fine-pointer desktop and inline rows remain unchanged. */
@media (max-width:767.98px) and (hover:none) and (pointer:coarse){
.item-catalog.od-catalogue-colours-ready>.od-catalogue-colours{grid-template-columns:repeat(5,24px);justify-content:space-between}
}

/* Phone: small cards keep all5 above price; a sufficiently wide card fits all5 beside it. */
@media (max-width:767.98px) and (hover:none) and (pointer:coarse){
  .item-catalog.od-catalogue-colours-ready>.od-catalogue-colours{
    box-sizing:border-box;
    width:calc(100% + 10px);
    max-width:none;
    margin-inline:-5px;
    margin-top:auto;
    margin-bottom:4px;
    padding-block:0;
    min-height:28px;
    grid-template-columns:repeat(5,24px);
    justify-content:space-between;
  }
  .item-catalog.od-catalog-card>.od-catalogue-colours-row-reserved{
    box-sizing:border-box;
    height:28px;
    min-height:28px;
    margin-top:auto;
    margin-bottom:4px;
  }
  .item-catalog.od-catalogue-colours-ready>.view__property.od-catalogue-colours-mobile-measuring>.view__property_price{
    width:max-content!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
  }
  .item-catalog.od-catalogue-colours-ready>.view__property.od-catalogue-colours-price-row.od-catalogue-colours-mobile-inline{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center;
    justify-content:space-between;
    gap:var(--od-catalogue-mobile-inline-gap,8px);
    margin-top:auto!important;
  }
  .item-catalog.od-catalogue-colours-ready>.view__property.od-catalogue-colours-mobile-inline>.view__property_price{
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    flex:0 0 auto;
  }
  .od-catalogue-colours-mobile-inline>.od-catalogue-colours{
    width:var(--od-catalogue-mobile-inline-width,120px);
    min-width:120px;
    max-width:120px;
    flex:0 0 var(--od-catalogue-mobile-inline-width,120px);
    grid-template-columns:repeat(5,24px);
    gap:0;
    margin:0 -5px 0 0;
    padding:0;
    min-height:28px;
  }
}

/* Mobile centre refinement: inset narrow rows and44px tap height; wide fit budget stays120px. */
@media (max-width:767.98px) and (hover:none) and (pointer:coarse){
  .item-catalog.od-catalogue-colours-ready>.od-catalogue-colours{
    width:calc(100% - 16px);
    min-width:120px;
    max-width:180px;
    margin-inline:auto;
    margin-top:auto;
    margin-bottom:4px;
    padding:0;
    min-height:44px;
    grid-template-columns:repeat(5,minmax(24px,1fr));
    gap:0;
    justify-content:center;
  }
  .item-catalog.od-catalogue-colours-ready .od-catalogue-colours-swatch{
    box-sizing:border-box;
    min-height:44px;
  }
  .item-catalog.od-catalog-card>.od-catalogue-colours-row-reserved{
    height:44px;
    min-height:44px;
    margin-top:auto;
    margin-bottom:4px;
  }
  .od-catalogue-colours-mobile-inline>.od-catalogue-colours{
    width:var(--od-catalogue-mobile-inline-width,120px);
    min-width:120px;
    max-width:120px;
    flex:0 0 var(--od-catalogue-mobile-inline-width,120px);
    grid-template-columns:repeat(5,24px);
    gap:0;
    margin:0;
    padding:0;
    min-height:44px;
  }
}

/* Compact phone spacing: preserve centered rows and all5 colours, with32px tap height. */
@media (max-width:767.98px) and (hover:none) and (pointer:coarse){
  .item-catalog.od-catalogue-colours-ready>.od-catalogue-colours{
    min-height:32px;
    margin-bottom:2px;
  }
  .item-catalog.od-catalogue-colours-ready .od-catalogue-colours-swatch{
    min-height:32px;
  }
  .item-catalog.od-catalog-card>.od-catalogue-colours-row-reserved{
    height:32px;
    min-height:32px;
    margin-bottom:2px;
  }
  .od-catalogue-colours-mobile-inline>.od-catalogue-colours{
    min-height:32px;
  }
}

/* Phone above-price rows: remove the duplicated facts tail gap on colours and reserved peers. */
@media (max-width:767.98px) and (hover:none) and (pointer:coarse){
  .item-catalog.od-catalogue-colours-ready:has(>.od-catalogue-colours)>.od-card-facts,
  .item-catalog.od-catalog-card:has(>.od-catalogue-colours-row-reserved)>.od-card-facts{
    margin-bottom:0;
  }
  .item-catalog.od-catalogue-colours-ready:has(>.od-catalogue-colours)>.od-card-facts>p:last-child,
  .item-catalog.od-catalog-card:has(>.od-catalogue-colours-row-reserved)>.od-card-facts>p:last-child{
    margin-bottom:0!important;
  }
}
