/* Real catalog photos — center crop */
.img-photo,
.img-photo-sm,
.img-photo-xs{
  position:relative;
  width:100%;
  height:100%;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  object-fit:cover;
}

/* Placeholder images — treatments vs products */
.img-placeholder{
  position:relative;
  width:100%;
  height:100%;
  background-repeat:no-repeat,no-repeat;
  background-position:center center,center center;
  background-size:38% auto,100% 100%;
}
.img-placeholder-sm{background-size:72% auto,100% 100%}
.img-placeholder-xs{background-size:88% auto,100% 100%}

/* Treatment: sage gradient + zen stone / wave mark */
.img-placeholder-treatment{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none'%3E%3Ccircle cx='60' cy='62' r='30' stroke='%235a7268' stroke-width='1.25' opacity='0.28'/%3E%3Ccircle cx='60' cy='62' r='19' stroke='%235a7268' stroke-width='1' opacity='0.2'/%3E%3Cpath d='M26 74 Q60 44 94 74' stroke='%235a7268' stroke-width='1.25' opacity='0.24'/%3E%3Cpath d='M20 86 Q60 54 100 86' stroke='%235a7268' stroke-width='1' opacity='0.16'/%3E%3Cpath d='M60 24 C52 38 48 50 60 62 C72 50 68 38 60 24Z' stroke='%235a7268' stroke-width='1' opacity='0.18'/%3E%3C/svg%3E"),
    linear-gradient(152deg,#e4ece8 0%,#cdd9d3 42%,#b8cbc2 100%);
}

/* Product: warm neutral gradient + bottle / botanical mark */
.img-placeholder-product{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none'%3E%3Crect x='46' y='30' width='28' height='10' rx='4' stroke='%237a6e62' stroke-width='1.25' opacity='0.3'/%3E%3Cpath d='M40 40 h40 v54 a10 10 0 0 1 -10 10 H50 a10 10 0 0 1 -10 -10 V40z' stroke='%237a6e62' stroke-width='1.25' opacity='0.28'/%3E%3Cpath d='M50 54 h20' stroke='%237a6e62' stroke-width='0.75' opacity='0.18'/%3E%3Cpath d='M50 62 h14' stroke='%237a6e62' stroke-width='0.75' opacity='0.14'/%3E%3Cpath d='M76 48 Q96 36 100 56 Q92 74 76 68' stroke='%235a7268' stroke-width='1.25' opacity='0.26'/%3E%3Cpath d='M80 52 Q90 46 92 56' stroke='%235a7268' stroke-width='1' opacity='0.2'/%3E%3Ccircle cx='88' cy='58' r='2' fill='%235a7268' opacity='0.15'/%3E%3C/svg%3E"),
    linear-gradient(152deg,#f0ece6 0%,#e4ded4 42%,#d8d0c4 100%);
}

/* Subtle grain overlay for depth */
.img-placeholder::after{
  content:'';
  position:absolute;inset:0;
  opacity:.045;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Card overlays — placeholders and photos */
.treat-img:has(.img-placeholder) .treat-img-overlay,
.treat-img:has(.img-photo) .treat-img-overlay,
.catalog-img:has(.img-placeholder) .catalog-img-overlay,
.catalog-img:has(.img-photo) .catalog-img-overlay{
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 45%,rgba(15,15,15,.08) 100%);
}

.treat-img:has(.img-photo) .treat-img-overlay,
.catalog-img:has(.img-photo) .catalog-img-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,transparent 42%,rgba(15,15,15,.28) 100%);
}

.treat-img:has(.img-placeholder) .treat-img-tag,
.treat-img:has(.img-photo) .treat-img-tag{
  background:rgba(255,255,255,.72);
  color:var(--t1);
  box-shadow:inset 0 0 0 1px rgba(15,15,15,.08);
  backdrop-filter:blur(8px);
}

.catalog-img:has(.img-placeholder) .catalog-badge.tag,
.catalog-img:has(.img-photo) .catalog-badge.tag{
  background:rgba(255,255,255,.72);
  color:var(--t1);
  box-shadow:inset 0 0 0 1px rgba(15,15,15,.08);
}
