/* PopShop Standard Storefront Polish — PS-10621
   Visual-only extension for the existing ps-standard-v4 storefront authority.
   Does not create/mutate merchant data or override products, booking, events or announcements.
   PopShop's canonical --ps-primary / --ps-accent and appearance attributes remain authoritative.
*/

/* Compact, intentionally branded identity; do not add a second platform logo. */
#shopApp.ps-standard-v4 {
  --ps10621-card: #151d29;
  --ps10621-card-2: #1e2938;
  --ps10621-border: rgba(224,238,255,.15);
  --ps10621-ink: #f6f9ff;
  --ps10621-muted: #c1cbd8;
  --ps10621-shade: rgba(7,12,22,.92);
}
html:is([data-appearance="light"],[data-customer-appearance="light"]) #shopApp.ps-standard-v4 {
  --ps10621-card: #fff;
  --ps10621-card-2: #f2f5fa;
  --ps10621-border: #d8e0ec;
  --ps10621-ink: #111827;
  --ps10621-muted: #45546a;
  --ps10621-shade: rgba(255,255,255,.94);
}
#shopApp.ps-standard-v4 #shopHeader { padding: 10px clamp(10px,2.5vw,24px) 0!important; }
#shopApp.ps-standard-v4 #ps3901Hero {
  isolation:isolate;
  border-radius:22px!important;
  border:1px solid color-mix(in srgb,var(--ps-primary) 38%,var(--ps10621-border))!important;
  box-shadow:0 14px 32px rgba(0,0,0,.21),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
#shopApp.ps-standard-v4 #ps3901Hero.no-cover {
  height:auto!important; min-height:0!important;
  background:radial-gradient(250px 150px at 96% 2%,color-mix(in srgb,var(--ps-primary) 22%,transparent),transparent 74%),
    radial-gradient(240px 140px at 0% 100%,color-mix(in srgb,var(--ps-accent) 14%,transparent),transparent 80%),
    linear-gradient(138deg,var(--ps10621-card),color-mix(in srgb,var(--ps10621-card-2) 92%,var(--ps-primary) 8%))!important;
}
#shopApp.ps-standard-v4 #ps3901Hero.no-cover::before {
  content:"";position:absolute;top:0;right:0;width:min(37%,260px);height:3px;
  background:linear-gradient(90deg,transparent,var(--ps-primary),var(--ps-accent));
  border-radius:100%;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--ps-primary) 45%,transparent));pointer-events:none;
}
#shopApp.ps-standard-v4 #ps3901Hero.has-cover {
  height:clamp(202px,27vw,255px)!important;min-height:202px!important;
}
#shopApp.ps-standard-v4 #ps3901Hero.has-cover .ps-cover-scrim {
  background:linear-gradient(0deg,rgba(3,7,14,.96) 2%,rgba(3,7,14,.82) 42%,rgba(3,7,14,.21) 100%),
    linear-gradient(90deg,rgba(3,7,14,.56),transparent 72%)!important;
}
#shopApp.ps-standard-v4 .ps-hero-nav {
  height:42px;min-height:42px;padding:6px 12px 0!important;
}
#shopApp.ps-standard-v4 #ps3901Hero.no-cover .ps-hero-identity {
  position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;
  padding:2px 14px 14px!important;align-items:center!important;gap:11px;
}
#shopApp.ps-standard-v4 #ps3901Hero.has-cover .ps-hero-identity {
  padding:10px 16px 16px!important;align-items:center!important;
  background:transparent!important;
}
#shopApp.ps-standard-v4 .ps-hero-logo {
  width:62px!important;height:62px!important;flex:0 0 62px!important;
  padding:3px!important;
  background:color-mix(in srgb,var(--ps10621-card) 82%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--ps-primary) 34%,var(--ps10621-border))!important;
  box-shadow:0 8px 24px rgba(0,0,0,.29)!important;
}
#shopApp.ps-standard-v4 .ps-hero-logo[data-logo-frame="natural"] {
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
#shopApp.ps-standard-v4 .ps-hero-name-row {align-items:flex-start;gap:6px}
#shopApp.ps-standard-v4 .ps-hero-name {
  font-size:clamp(20px,3vw,27px)!important;line-height:1.09!important;
  font-weight:850!important;letter-spacing:-.035em;
  color:var(--ps10621-ink)!important;text-shadow:none!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:anywhere;max-width:100%;
}
#shopApp.ps-standard-v4 #ps3901Hero.has-cover .ps-hero-name {color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.6)!important}
#shopApp.ps-standard-v4 .ps-hero-status {
  display:inline-flex!important;align-items:center;gap:6px;
  margin-top:5px!important;padding:3px 9px;
  border:1px solid color-mix(in srgb,currentColor 39%,transparent);
  border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);
  font-size:11px!important;line-height:1.25;font-weight:800;
}
#shopApp.ps-standard-v4 .ps-hero-tagline,
#shopApp.ps-standard-v4 .ps-standard-service-description {
  margin-top:5px!important;color:var(--ps10621-muted)!important;
  font-size:12px!important;line-height:1.36!important;font-weight:500;
  max-width:640px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#shopApp.ps-standard-v4 #ps3901Hero.has-cover :is(.ps-hero-tagline,.ps-standard-service-description,.ps-hero-submeta) {color:rgba(255,255,255,.88)!important}
#shopApp.ps-standard-v4 .ps-hero-submeta{margin-top:3px;color:var(--ps10621-muted)!important;font-size:11px}
#shopApp.ps-standard-v4 .ps-account-pill {
  min-height:35px!important;height:35px!important;padding:0 12px!important;
  border-radius:12px!important;font-size:12px!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}
#shopApp.ps-standard-v4 #psStandardServiceCTA {
  min-height:40px!important;margin-top:8px!important;
  padding:8px 13px!important;border-radius:11px!important;font-size:12px!important;
}
#shopApp.ps-standard-v4 .shop-body{padding-top:10px!important}
#shopApp.ps-standard-v4 .ps-section{padding-top:14px!important}
#shopApp.ps-standard-v4 .ps-category-block{padding-top:12px!important}
#shopApp.ps-standard-v4 :is(.ps-section-title,.ps-cat-label) {
  font-size:clamp(17px,2vw,22px)!important;letter-spacing:-.02em;
  color:var(--ps10621-ink)!important;line-height:1.2;
}
#shopApp.ps-standard-v4 :is(.ps-section-title,.ps-cat-label)::before {
  content:"";display:inline-block;vertical-align:-2px;width:4px;height:16px;
  margin-right:8px;border-radius:999px;background:var(--ps-primary);
}
#shopApp.ps-standard-v4 :is(.ps-cat-chip,.ps-standard-view-controls button){border-color:var(--ps10621-border)!important}
#shopApp.ps-standard-v4 .ps-cat-chip.active{border-color:var(--ps-primary)!important}

/* Product and featured cards: robust contrast without relying on photo darkness. */
#shopApp.ps-standard-v4 :is(.ps-item-card,.ps-feat-card) {
  background:var(--ps10621-card)!important;color:var(--ps10621-ink)!important;
  border:1px solid var(--ps10621-border)!important;border-radius:17px!important;
  box-shadow:0 7px 22px rgba(0,0,0,.16)!important;
}
#shopApp.ps-standard-v4 .ps-item-card-media {
  padding-top:73%!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--ps-primary) 8%,var(--ps10621-card-2)),var(--ps10621-card))!important;
}
#shopApp.ps-standard-v4 .ps-item-card-body {
  padding:11px 12px 12px!important;
  background:var(--ps10621-card)!important;
}
#shopApp.ps-standard-v4 :is(.ps-item-card-name,.ps-feat-card-name) {
  color:var(--ps10621-ink)!important;font-weight:800!important;
  font-size:clamp(13px,1.5vw,15px)!important;line-height:1.25!important;
}
#shopApp.ps-standard-v4 :is(.ps-item-card-desc,.ps-feat-card-desc) {
  color:var(--ps10621-muted)!important;opacity:1!important;
  line-height:1.38!important;font-size:12px!important;
}
#shopApp.ps-standard-v4 :is(.ps-item-card-price-inline,.ps-feat-card-price) {color:var(--ps10621-ink)!important}
#shopApp.ps-standard-v4 .ps-item-price-badge {
  background:color-mix(in srgb,var(--ps-primary) 82%,#0b0e15 18%)!important;
  color:var(--ps-primary-contrast,#fff)!important;
  border:1px solid rgba(255,255,255,.15)!important;
}
#shopApp.ps-standard-v4 .ps-item-cta-primary {
  background:var(--ps-primary)!important;color:var(--ps-primary-contrast,#08110d)!important;
  border-radius:11px!important;font-weight:800!important;min-height:41px;
}
#shopApp.ps-standard-v4 :is(.ps-item-card,.ps-feat-card,.ps-service-card) :focus-visible {outline:3px solid var(--ps-primary)!important;outline-offset:2px}

/* Both canonical service render paths: preserve prices, media, booking and visible descriptions. */
#shopApp.ps-standard-v4 #storePop :is(.ps-service-card.ps10272-service-row,.ps-item-card.ps10274-service-item-row) {
  background:linear-gradient(125deg,var(--ps10621-card),var(--ps10621-card-2))!important;
  color:var(--ps10621-ink)!important;border:1px solid var(--ps10621-border)!important;
  border-radius:16px!important;min-height:114px!important;box-shadow:0 8px 22px rgba(0,0,0,.15)!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row::before,
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row::before {
  background:linear-gradient(90deg,var(--ps10621-shade) 0%,color-mix(in srgb,var(--ps10621-shade) 88%,transparent) 62%,color-mix(in srgb,var(--ps10621-shade) 70%,transparent) 100%)!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-img :is(img,video),
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-media :is(img,video){opacity:.25!important}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-body,
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-body {
  padding:13px 14px!important;gap:4px 10px!important;min-height:114px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto auto!important;
  background:transparent!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-name,
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-name {
  grid-column:1!important;grid-row:1!important;font-size:clamp(15px,2.2vw,19px)!important;
  color:var(--ps10621-ink)!important;line-height:1.23!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row :is(.ps-service-card-type,.ps-service-duration),
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-kicker {
  grid-column:1!important;grid-row:2!important;color:var(--ps10621-muted)!important;
  font-size:11px!important;font-weight:600!important;opacity:1!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-desc,
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-desc {
  display:-webkit-box!important;grid-column:1!important;grid-row:3!important;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin:0!important;color:var(--ps10621-muted)!important;opacity:1!important;
  font-size:11px!important;line-height:1.4!important;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-footer {
  grid-column:2!important;grid-row:1/span 3!important;display:flex!important;
  flex-direction:column;align-items:flex-end;justify-content:center;gap:7px!important;
}
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-price-inline {
  grid-column:2!important;grid-row:1!important;display:block!important;align-self:center;
  color:var(--ps10621-ink)!important;font-size:17px!important;
}
#shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-cta {
  grid-column:2!important;grid-row:2/span 2!important;align-self:center;
}
#shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-price{color:var(--ps10621-ink)!important;font-size:17px!important}
#shopApp.ps-standard-v4 #storePop :is(.ps-service-card.ps10272-service-row .ps-service-book-btn,.ps-item-card.ps10274-service-item-row .ps-item-cta-btn) {
  background:var(--ps-primary)!important;color:var(--ps-primary-contrast,#07120b)!important;
  border:1px solid color-mix(in srgb,var(--ps-primary) 62%,transparent)!important;
  border-radius:10px!important;min-height:39px!important;
  min-width:75px;font-size:12px!important;font-weight:850!important;
}

/* Event cards use independent solid surfaces, never text directly on a variable image. */
#shopApp.ps-standard-v4 #psStorefrontEvents {padding:12px 0 22px!important}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-events-heading h2{color:var(--ps10621-ink)!important}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-card {
  position:relative;overflow:hidden;isolation:isolate;min-height:102px;padding:13px!important;
  border-radius:18px!important;border:1px solid color-mix(in srgb,var(--ps-primary) 30%,var(--ps10621-border))!important;
  background:linear-gradient(126deg,var(--ps10621-card),var(--ps10621-card-2))!important;
  color:var(--ps10621-ink)!important;box-shadow:0 12px 27px rgba(0,0,0,.16)!important;
}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-card::before{
  content:"";position:absolute;inset:0 0 auto auto;width:38%;height:3px;
  background:linear-gradient(90deg,transparent,var(--ps-primary));pointer-events:none;
}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-date {
  flex-basis:60px;min-height:67px;border-radius:13px;
  background:color-mix(in srgb,var(--ps-primary) 14%,var(--ps10621-card-2))!important;
  border:1px solid color-mix(in srgb,var(--ps-primary) 34%,var(--ps10621-border));
  color:var(--ps10621-ink)!important;
}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-date small{color:var(--ps10621-muted)!important}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-name{
  color:var(--ps10621-ink)!important;font-size:15px;font-weight:850;line-height:1.28;
}
#shopApp.ps-standard-v4 #psStorefrontEvents :is(.ps-shop-event-when,.ps-shop-event-collabs){color:var(--ps10621-muted)!important;opacity:1!important}
#shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-open {color:var(--ps-primary)!important}

/* Canonical announcement popup, presentation only. Original text, optional media,
   close button, click-outside dismissal, session and settings logic are unchanged. */
body:has(#shopApp.ps-standard-v4) .ps-announce-backdrop {
  z-index:8000!important;background:rgba(2,6,13,.78)!important;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));
}
body:has(#shopApp.ps-standard-v4) .ps-announce-modal {
  width:min(100%,460px)!important;max-width:460px!important;
  position:relative;isolation:isolate;overflow-x:hidden;overflow-y:auto;
  max-height:calc(100dvh - 32px)!important;overscroll-behavior:contain;
  border-radius:24px!important;
  border:1px solid color-mix(in srgb,var(--ps-primary) 68%,rgba(255,255,255,.20))!important;
  background:radial-gradient(290px 165px at 100% 0%,color-mix(in srgb,var(--ps-primary) 25%,transparent),transparent 75%),
    radial-gradient(260px 175px at 0% 100%,color-mix(in srgb,var(--ps-accent) 18%,transparent),transparent 80%),
    linear-gradient(155deg,#121a29,#0a101a 82%)!important;
  box-shadow:0 26px 90px rgba(0,0,0,.68),0 0 28px color-mix(in srgb,var(--ps-primary) 17%,transparent),inset 0 1px 0 rgba(255,255,255,.1)!important;
  color:#fff!important;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-modal::before {
  content:"";position:absolute;inset:0 0 auto;height:3px;pointer-events:none;
  background:linear-gradient(90deg,var(--ps-primary),var(--ps-accent),transparent);
}
body:has(#shopApp.ps-standard-v4) .ps-announce-modal::after {
  content:"";position:absolute;right:-38px;bottom:-64px;width:170px;height:170px;
  border:1px solid color-mix(in srgb,var(--ps-primary) 17%,transparent);
  border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--ps-primary) 5%,transparent),0 0 0 49px color-mix(in srgb,var(--ps-primary) 3%,transparent);
  pointer-events:none;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-header {
  padding:23px 22px 13px!important;border:0!important;
  display:flex;align-items:center;gap:12px;justify-content:space-between;
  color:#fff!important;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-header > span {
  display:flex;align-items:center;gap:13px;font:850 0/1 var(--ps-font-display,system-ui)!important;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-header > span::before {
  content:"";display:block;flex:0 0 48px;width:48px;height:48px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--ps-primary) 55%,rgba(255,255,255,.22));
  background:color-mix(in srgb,var(--ps-primary) 18%,rgba(255,255,255,.07)) center/31px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M5 13h5l13-6v18l-13-6H5zM10 19l2 8h5l-3-9M27 13l3-2M27 19l3 2' stroke='white' stroke-width='2.3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
  box-shadow:0 0 26px color-mix(in srgb,var(--ps-primary) 19%,transparent);
}
body:has(#shopApp.ps-standard-v4) .ps-announce-header > span::after {
  content:"Announcement";display:block;font:850 clamp(19px,5vw,25px)/1.1 var(--ps-font-display,system-ui);
  letter-spacing:-.03em;color:#fff;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-close {
  flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;
  background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:13px!important;color:#fff!important;font-size:22px!important;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-body {
  position:relative;z-index:1;padding:14px 23px 27px!important;
  font:750 clamp(19px,5vw,26px)/1.28 var(--ps-font-display,system-ui)!important;
  letter-spacing:-.025em;color:#fff!important;overflow-wrap:anywhere;
}
body:has(#shopApp.ps-standard-v4) .ps-announce-modal > img {
  display:block;width:calc(100% - 44px)!important;height:auto;max-height:170px!important;
  object-fit:cover;border-radius:13px;margin:0 22px 3px;
  border:1px solid rgba(255,255,255,.15);
}
html:is([data-appearance="light"],[data-customer-appearance="light"]) body:has(#shopApp.ps-standard-v4) .ps-announce-backdrop{background:rgba(8,16,31,.58)!important}
/* On light shops the announcement stays a deliberately dark branded graphic
   to preserve  contrast against any merchant photo and meet long-copy cases. */

@media(max-width:600px){
  #shopApp.ps-standard-v4 #ps3901Hero.no-cover .ps-hero-identity {padding:0 11px 12px!important;gap:9px}
  #shopApp.ps-standard-v4 #ps3901Hero.has-cover{height:215px!important;min-height:215px!important}
  #shopApp.ps-standard-v4 .ps-hero-logo{width:54px!important;height:54px!important;flex-basis:54px!important}
  #shopApp.ps-standard-v4 .ps-hero-name{font-size:clamp(19px,6vw,24px)!important}
  #shopApp.ps-standard-v4 .ps-hero-tagline{font-size:11.5px!important}
  #shopApp.ps-standard-v4 .ps-item-grid{gap:9px}
  #shopApp.ps-standard-v4 #storePop[data-view="carousel"] .ps-item-card{flex-basis:min(69vw,250px)!important;width:min(69vw,250px)!important}
  #shopApp.ps-standard-v4 .ps-service-grid{gap:10px!important}
  #shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-body,
  #shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-body{padding:12px 10px!important;gap:4px 7px!important}
  #shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-name,
  #shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-name{font-size:15px!important}
  #shopApp.ps-standard-v4 #storePop :is(.ps-service-card.ps10272-service-row .ps-service-book-btn,.ps-item-card.ps10274-service-item-row .ps-item-cta-btn){padding:7px 9px!important;min-width:70px}
  #shopApp.ps-standard-v4 #psStorefrontEvents .ps-shop-event-card{padding:10px!important;gap:9px}
}
@media(max-width:350px){
  #shopApp.ps-standard-v4 .ps-hero-logo{width:48px!important;height:48px!important;flex-basis:48px!important}
  #shopApp.ps-standard-v4 .ps-hero-name{font-size:19px!important}
  #shopApp.ps-standard-v4 #storePop .ps-service-card.ps10272-service-row .ps-service-card-desc,
  #shopApp.ps-standard-v4 #storePop .ps-item-card.ps10274-service-item-row .ps-item-card-desc{-webkit-line-clamp:1}
}
@media(prefers-reduced-motion:reduce){
  #shopApp.ps-standard-v4 :is(.ps-item-card,.ps-service-card,.ps-feat-card),
  body:has(#shopApp.ps-standard-v4) .ps-announce-modal{animation:none!important;transition:none!important}
}
