/* Sousa Clinic — four-slot shop collection */
.shop-page-section{min-height:calc(100vh - var(--header-height));padding-top:clamp(64px,7vw,112px);padding-bottom:clamp(90px,11vw,164px)}
.shop-intro{max-width:1450px;margin:0 auto 48px}
.shop-eyebrow{margin:0 0 18px;font-size:10px;font-weight:700;letter-spacing:.33em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 58%,transparent)}
.shop-display-title{margin:0;font-size:clamp(64px,9vw,136px);font-weight:400;line-height:.9;letter-spacing:-.095em}
.shop-display-title span{letter-spacing:-.04em}
.shop-intro-line{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:43px;padding:22px 0 0;border-top:1px solid color-mix(in srgb,var(--ink) 26%,transparent)}
.shop-intro-copy{max-width:440px;margin:0;font-size:clamp(13px,1.1vw,16px);line-height:1.6;letter-spacing:.01em;color:color-mix(in srgb,var(--ink) 76%,transparent)}
.shop-intro-count{margin:0 0 2px;flex:none;font-size:10px;letter-spacing:.24em;text-transform:uppercase}
.shop-product-grid{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.3vw,19px)}
.shop-product{min-width:0;display:flex;flex-direction:column}
.shop-product:nth-child(2){transition-delay:.07s}
.shop-product:nth-child(3){transition-delay:.14s}
.shop-product:nth-child(4){transition-delay:.21s}
.shop-product-image{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:4/5;background:#eeeae4;color:#665d53;border:1px solid #e1dcd4}
.shop-product:nth-child(2) .shop-product-image{background:#e4dfd8}
.shop-product:nth-child(3) .shop-product-image{background:#eeeae5}
.shop-product:nth-child(4) .shop-product-image{background:#e7e2db}
.shop-product-image::before{content:'';position:absolute;width:88%;aspect-ratio:1;border:1px solid #9a8f8133;border-radius:50%;transform:translate(20%,-8%);pointer-events:none}
.shop-product-image::after{content:'';position:absolute;width:60%;aspect-ratio:1;border:1px solid #9a8f8130;border-radius:50%;transform:translate(-38%,22%);pointer-events:none}
.shop-image-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;transform:translateY(-5%);transition:transform .45s ease}
.shop-product:hover .shop-image-inner{transform:translateY(-8%) scale(1.035)}
.shop-image-monogram{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(52px,6vw,93px);line-height:1;letter-spacing:-.13em;padding-right:.13em;color:#6d6459}
.shop-image-divider{width:34px;height:1px;background:#908679}
.shop-image-label{font-size:9px;font-weight:600;letter-spacing:.28em}
.shop-image-index,.shop-image-caption{position:absolute;z-index:2;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.shop-image-index{top:18px;left:18px}
.shop-image-caption{bottom:18px;left:18px;right:18px;text-align:center;letter-spacing:.15em}
.shop-product-info{display:flex;flex:1;flex-direction:column;padding:20px 2px 0}
.shop-product-eyebrow{font-size:9px;font-weight:600;letter-spacing:.23em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,transparent);margin:0 0 11px}
.shop-product-info h2{font-size:clamp(18px,1.65vw,24px);font-weight:400;line-height:1.12;letter-spacing:-.055em;margin:0 0 9px}
.shop-product-description{margin:0;font-size:12px;line-height:1.55;color:color-mix(in srgb,var(--ink) 64%,transparent)}
.shop-product-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:25px}
.shop-product-price{font-size:11px;letter-spacing:.015em}
.shop-product-status{display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 68%,transparent)}
.shop-product-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.shop-contact-bar{max-width:1450px;margin:73px auto 0;padding-top:26px;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);display:flex;align-items:center;justify-content:space-between;gap:22px}
.shop-contact-bar p{margin:0;font-size:12px;line-height:1.5;letter-spacing:.045em}
.shop-contact-bar a{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;border-bottom:1px solid currentColor;padding:5px 0}
.shop-contact-bar a span{font-size:16px;margin-left:9px}
.shop-contact-bar a:hover{opacity:.55}
:root[data-theme="dark"] .shop-product-image{background:#2a2825;border-color:#403d38;color:#c4b9a9}
:root[data-theme="dark"] .shop-product:nth-child(2) .shop-product-image{background:#302d29}
:root[data-theme="dark"] .shop-product:nth-child(3) .shop-product-image{background:#282725}
:root[data-theme="dark"] .shop-product:nth-child(4) .shop-product-image{background:#322e29}
:root[data-theme="dark"] .shop-image-monogram{color:#c1b6a6}
:root[data-theme="dark"] .shop-image-divider{background:#c1b6a6}
@media(max-width:1100px){.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.shop-product-info h2{font-size:23px}.shop-image-monogram{font-size:clamp(75px,9vw,115px)}}
@media(max-width:640px){.shop-page-section{padding:60px 20px 92px}.shop-intro{margin-bottom:28px}.shop-display-title{font-size:clamp(65px,16vw,96px)}.shop-intro-line{align-items:start;flex-direction:column;gap:17px;margin-top:30px}.shop-intro-count{font-size:9px}.shop-product-grid{grid-template-columns:1fr;gap:35px}.shop-product-image{aspect-ratio:1/1.1}.shop-image-monogram{font-size:clamp(92px,20vw,130px)}.shop-product-info{padding-top:17px}.shop-product-bottom{padding-top:17px}.shop-contact-bar{margin-top:58px;align-items:flex-start;flex-direction:column;gap:14px}}
@media(prefers-reduced-motion:reduce){.shop-image-inner{transition:none}}

/* Concept product photography with Sousa Clinic's original face logo and site typeface. */
.shop-product-image{
  aspect-ratio:4/5;
  background-image:url('assets/shop-vials-concept.webp');
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0% 50%;
  border-color:#eeeae5;
  color:#222;
}
.shop-product:nth-child(2) .shop-product-image{background-image:url('assets/shop-vials-concept.webp');background-position:33.333333% 50%}
.shop-product:nth-child(3) .shop-product-image{background-image:url('assets/shop-vials-concept.webp');background-position:66.666667% 50%}
.shop-product:nth-child(4) .shop-product-image{background-image:url('assets/shop-vials-concept.webp');background-position:100% 50%}
.shop-product-image::before,.shop-product-image::after{display:none}
.shop-image-inner{position:absolute;top:59%;left:50%;z-index:1;display:flex;flex-direction:column;gap:5px;align-items:center;min-width:0;transform:translate(-50%,-50%);transition:transform .35s ease}
.shop-product:hover .shop-image-inner{transform:translate(-50%,-52%)}
.shop-product:nth-child(2) .shop-image-inner{top:51%}
.shop-product:nth-child(3) .shop-image-inner{top:56%}
.shop-product:nth-child(4) .shop-image-inner{top:61%}
.shop-visual-logo.logo-crop{display:block;width:clamp(32px,3vw,44px);height:auto;background:#fff}
.shop-product:nth-child(4) .shop-visual-logo.logo-crop{width:clamp(23px,2vw,29px)}
.shop-image-label{width:92px;max-width:100%;font-family:'League Spartan',Arial,sans-serif;font-size:8px;font-weight:650;line-height:1.12;letter-spacing:.13em;text-align:center;text-transform:uppercase;color:#3b3530}
.shop-product:nth-child(4) .shop-image-label{width:63px;font-size:6px}
.shop-image-index,.shop-image-caption{font-family:'League Spartan',Arial,sans-serif;font-size:9px;color:#544b43;letter-spacing:.18em}
.shop-image-caption{bottom:14px;font-size:8px;letter-spacing:.25em}
:root[data-theme="dark"] .shop-product-image,
:root[data-theme="dark"] .shop-product:nth-child(2) .shop-product-image,
:root[data-theme="dark"] .shop-product:nth-child(3) .shop-product-image,
:root[data-theme="dark"] .shop-product:nth-child(4) .shop-product-image{
  background-image:url('assets/shop-vials-concept.webp');
  border-color:#38332f;
  color:#222;
}
:root[data-theme="dark"] .shop-image-index,:root[data-theme="dark"] .shop-image-caption{color:#544b43}
@media(max-width:640px){
 .shop-product-image{aspect-ratio:4/5}
 .shop-image-label{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.shop-image-inner{transition:none}}
