.cm-puppies-public{display:grid;gap:28px;padding:28px clamp(18px,5vw,72px) 64px;}
.cm-public-puppy-shell{width:min(100%,1120px);margin:0 auto;display:grid;gap:24px;}
.cm-public-puppy-shell--with-mascot{position:relative;overflow:visible;}
.cm-public-puppy-mascot{position:absolute;top:132px;right:clamp(-240px,-15vw,-96px);width:clamp(360px,31vw,560px);pointer-events:none;z-index:5;filter:drop-shadow(0 22px 36px rgba(67,47,33,.18));}
.cm-public-puppy-mascot img{display:block;width:100%;height:auto;}
.cm-public-puppy-heading{display:grid;justify-items:center;gap:12px;text-align:center;padding:8px 0 10px;}
.cm-public-puppy-logo{display:flex;align-items:center;justify-content:center;width:min(100%,190px);margin:0 auto 6px;}
.cm-public-puppy-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 26px rgba(82,54,37,.18));}
.cm-public-hero{padding:24px 0 8px;display:grid;gap:10px;}
.cm-public-hero--compact{padding-bottom:0;}
.cm-public-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8a6b52;font-weight:800;}
.cm-public-puppy-heading h1,
.cm-public-hero h1{margin:0;font-family:'CherryBombOne',system-ui,sans-serif;font-size:clamp(52px,6.4vw,82px);line-height:.94;color:#6b3e53;text-align:center;text-wrap:balance;text-shadow:0 4px 16px rgba(255,255,255,.38),0 12px 24px rgba(106,62,84,.12);}
.cm-public-puppy-intro,
.cm-public-hero p{margin:0 auto;max-width:760px;color:#5b4639;line-height:1.75;font-size:clamp(15px,1.5vw,18px);text-align:center;}
.cm-public-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0 auto 4px;padding:12px 18px;border-radius:999px;background:rgba(255,250,244,.86);border:1px solid rgba(126,97,75,.14);box-shadow:0 10px 24px rgba(67,47,33,.06);font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:14px;font-weight:700;color:#7a5a49;}
.cm-public-breadcrumbs a{color:#7a5a49;text-decoration:none;}
.cm-public-breadcrumbs strong{color:#6b3e53;font-weight:800;}
.cm-public-backlink{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 4px;padding:10px 16px;border-radius:999px;background:rgba(255,250,244,.86);border:1px solid rgba(126,97,75,.14);box-shadow:0 10px 24px rgba(67,47,33,.06);color:#7a5a49;text-decoration:none;font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:14px;font-weight:800;letter-spacing:.01em;}
.cm-public-panel{background:rgba(255,250,244,.9);border:1px solid rgba(126,97,75,.15);border-radius:24px;padding:22px;box-shadow:0 16px 34px rgba(67,47,33,.08);}
.cm-public-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(91,70,57,.08);color:#6d4f3c;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.cm-public-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:14px;background:#2f211a;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 12px 24px rgba(47,33,26,.18);}
.cm-litters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.cm-litters-grid--puppies{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.cm-litter-card{display:grid;grid-template-rows:auto 1fr;background:rgba(255,250,244,.9);border:1px solid rgba(126,97,75,.15);border-radius:24px;overflow:hidden;box-shadow:0 16px 34px rgba(67,47,33,.08);}
.cm-litter-card__media{display:block;aspect-ratio:4/3;background:#efe5da;}
.cm-litter-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.cm-litter-card__body{padding:18px;display:grid;gap:10px;}
.cm-litter-card__body h2{margin:0;font-size:20px;line-height:1.2;}
.cm-litter-card__body h2 a{color:#2e2119;text-decoration:none;}
.cm-litter-card__body p{margin:0;color:#5b4639;line-height:1.55;}
.cm-public-puppy-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:28px;align-items:start;background:linear-gradient(180deg,rgba(255,250,244,.72) 0%,rgba(255,250,244,.42) 100%);border:1px solid rgba(126,97,75,.10);border-radius:34px;padding:clamp(18px,2vw,30px);box-shadow:0 18px 36px rgba(67,47,33,.08);}
.cm-public-puppy-detail__media{display:grid;gap:14px;min-width:0;}
.cm-public-puppy-detail__media img{width:100%;border-radius:28px;display:block;box-shadow:0 18px 34px rgba(67,47,33,.12);background:#efe5da;}
.cm-public-puppy-mainframe{display:grid;gap:0;margin:0;padding:14px 14px 18px;background:#fff;border:1px solid rgba(171,149,136,.24);border-radius:12px;box-shadow:0 18px 34px rgba(67,47,33,.14);}
.cm-public-puppy-caption{margin:0;padding:4px 8px 0;background:transparent;color:#5a3c28;font-size:.95rem;line-height:1.45;box-shadow:none;}
.cm-public-puppy-detail__content{display:grid;gap:18px;align-content:start;}

.cm-public-puppy-contact-box{
  width: 100%;
  max-width: 100%;
  padding: 0 0 12px;
  background: transparent;
  border: 0;
  box-shadow: none;
  box-sizing: border-box;
}
.cm-public-puppy-contact-box__grid{
  --cm-contact-gap: 12px;
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--cm-contact-gap);
  align-items: stretch;
  box-sizing: border-box;
}
.cm-public-puppy-contact-box__grid > *{
  min-width: 0;
}
.cm-public-puppy-contact-box__grid.is-single{
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
}
.cm-public-contact-cta{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78px;
  padding: 6px 10px;
  border-radius: 18px;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid rgba(74, 42, 57, .76);
  background: linear-gradient(180deg, rgba(130, 83, 107, .99) 0%, rgba(112, 65, 87, .99) 56%, rgba(88, 48, 67, 1) 100%);
  box-shadow:
    0 10px 14px rgba(45,28,38,.22),
    0 2px 0 rgba(84,49,66,.20),
    inset 0 2px 0 rgba(255,255,255,.38),
    inset 0 -10px 16px rgba(56,29,42,.34);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.cm-public-contact-cta::before{
  content: "";
  position: absolute;
  z-index: 0;
  inset: 2px 2px auto 2px;
  height: 60%;
  border-radius: 16px 16px 12px 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.24) 36%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,225,240,.18) 0%, rgba(255,225,240,0) 100%);
  pointer-events: none;
}
.cm-public-contact-cta::after{
  content: "";
  position: absolute;
  z-index: -1;
  left: 18%;
  right: 18%;
  bottom: -8px;
  height: 14px;
  border-radius: 999px;
  background: rgba(41, 20, 30, .24);
  filter: blur(8px);
  pointer-events: none;
}
.cm-public-contact-cta:hover{
  transform: translateY(-2px) scale(1.012);
  box-shadow:
    0 13px 18px rgba(45,28,38,.26),
    0 3px 0 rgba(84,49,66,.22),
    inset 0 2px 0 rgba(255,255,255,.42),
    inset 0 -10px 16px rgba(56,29,42,.38);
}
.cm-public-contact-cta:active{
  transform: translateY(0) scale(.995);
}
.cm-public-contact-cta:focus-visible{
  outline: 3px solid rgba(214,109,150,.28);
  outline-offset: 3px;
}
.cm-public-contact-cta__icon{
  position: relative;
  z-index: 1;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cm-public-contact-cta__icon img{
  display: block;
  width: 82px;
  height: 82px;
  object-fit: contain;
  filter: drop-shadow(0 7px 12px rgba(33,18,24,.26));
}


.cm-public-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.cm-public-facts>div{background:rgba(255,250,244,.92);border:1px solid rgba(126,97,75,.15);border-radius:18px;padding:14px;display:grid;gap:6px;}
.cm-public-facts span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a6b52;}
.cm-public-facts strong{color:#2e2119;line-height:1.35;}
.cm-public-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;}
.cm-public-gallery__thumb{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;border-radius:20px;outline:none;transition:transform .18s ease, box-shadow .18s ease;}
.cm-public-gallery__thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;display:block;box-shadow:0 12px 24px rgba(67,47,33,.08);border:3px solid transparent;}
.cm-public-gallery__thumb:hover{transform:translateY(-2px);}
.cm-public-gallery__thumb.is-active img{border-color:rgba(214,109,150,.66);box-shadow:0 16px 28px rgba(106,62,84,.18);}
.cm-public-panel--notes h2{margin:0 0 8px;color:#6b3e53;font-size:clamp(24px,2.3vw,32px);font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:800;letter-spacing:.01em;}
@media (min-width: 1280px){
  .cm-puppies-public{padding-left:clamp(120px,11vw,220px);padding-right:clamp(120px,11vw,220px);} 
  .cm-public-puppy-shell{width:min(100%,1060px);} 
  .cm-public-puppy-shell--with-mascot{padding-right:clamp(120px,12vw,180px);} 
}
@media (max-width: 1279px){
  .cm-public-puppy-mascot{display:none;}
}
@media (max-width: 980px){
  .cm-public-puppy-detail{grid-template-columns:1fr;}
  .cm-public-puppy-detail__content{order:2;}
}
@media (max-width: 640px){
  .cm-puppies-public{padding:20px 14px 44px;}
  .cm-public-puppy-heading h1,.cm-public-hero h1{font-size:clamp(38px,12vw,56px);} 
  .cm-public-breadcrumbs{font-size:12px;padding:10px 12px;}
  .cm-public-backlink{font-size:12px;padding:9px 12px;} 
  .cm-public-puppy-logo{width:min(100%,138px);} 
  .cm-public-puppy-detail{border-radius:26px;padding:16px;gap:18px;}
  .cm-public-puppy-contact-box__grid{--cm-contact-gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));}
  .cm-public-puppy-contact-box__grid.is-single{width:100%;max-width:100%;}
  .cm-public-contact-cta{min-height:70px;padding:6px 8px;border-radius:16px;}
  .cm-public-contact-cta__icon img{width:72px;height:72px;}
}



/* Scene chiots */
.cm-page-puppies-scene .cm-site-shell,
.cm-page-puppies-scene .cm-page-wrap{max-width:none;width:100%;padding-left:0;padding-right:0;}
.cm-puppies-scene-page{position:relative;min-height:100svh;background:#050505;}
.cm-puppies-scene{position:relative;min-height:100svh;background:#050505;overflow:hidden;}
.cm-puppies-scene__stage{position:relative;min-height:100svh;width:100%;overflow:hidden;}
.cm-puppies-scene__art,
.cm-puppies-scene__art img{display:block;width:100%;height:100%;}
.cm-puppies-scene__art{position:absolute;inset:0;z-index:1;}
.cm-puppies-scene__art img{object-fit:cover;object-position:center 12%;background:#050505;}
.cm-puppies-scene__title{position:absolute;top:16px;left:50%;z-index:4;transform:translateX(-50%);display:grid;gap:0;justify-items:center;width:min(92vw,760px);padding:0 16px;text-align:center;pointer-events:none;}
.cm-puppies-scene__title span,
.cm-puppies-scene__title strong{display:block;font-family:'CherryBombOne',system-ui,sans-serif;font-weight:400;line-height:.94;letter-spacing:.01em;color:#ef78a7;-webkit-text-stroke:1px rgba(0,0,0,.82);paint-order:stroke fill;text-shadow:0 3px 10px rgba(0,0,0,.18),0 1px 0 rgba(0,0,0,.75),1px 0 0 rgba(0,0,0,.75),-1px 0 0 rgba(0,0,0,.75),0 -1px 0 rgba(0,0,0,.75);}
.cm-puppies-scene__title span{font-size:clamp(26px,3.2vw,44px);}
.cm-puppies-scene__title strong{font-size:clamp(44px,5.3vw,78px);}

.cm-puppies-glass{position:absolute;left:50%;top:clamp(178px,24vh,244px);bottom:clamp(54px,8vh,94px);z-index:3;transform:translateX(-50%);width:min(460px,34vw);display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:28px;background:rgba(255,245,246,.34);backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);border:1px solid rgba(255,255,255,.42);box-shadow:0 24px 46px rgba(41,22,25,.22);overflow:hidden;}
.cm-puppies-glass::before{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:inherit;background:linear-gradient(145deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.04) 38%, rgba(255,255,255,.02) 62%, rgba(255,255,255,.14) 100%);}
.cm-puppies-glass>*{position:relative;z-index:1;}
.cm-puppies-glass--empty{justify-content:flex-start;}
.cm-puppies-glass__head{flex:0 0 auto;padding:4px 6px 0;}
.cm-puppies-glass__head h1{margin:0;text-align:center;font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:clamp(24px,2.3vw,30px);line-height:1.1;color:#5c3240;font-weight:800;}
.cm-puppies-glass__list{flex:1 1 auto;min-height:0;display:grid;gap:12px;padding:2px 6px 14px 2px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(120,83,96,.55) transparent;}
.cm-puppies-glass__list::-webkit-scrollbar{width:8px;}
.cm-puppies-glass__list::-webkit-scrollbar-track{background:transparent;}
.cm-puppies-glass__list::-webkit-scrollbar-thumb{background:rgba(120,83,96,.55);border-radius:999px;}

.cm-puppies-litter-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:24px;background:rgba(255,251,249,.88);border:1px solid rgba(255,255,255,.58);box-shadow:0 14px 28px rgba(67,47,33,.12);}
.cm-puppies-litter-card__thumb{display:block;width:92px;height:92px;border-radius:18px;overflow:hidden;background:#efe5da;box-shadow:0 10px 22px rgba(67,47,33,.12);text-decoration:none;}
.cm-puppies-litter-card__thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.cm-puppies-litter-card__body{min-width:0;display:grid;justify-items:start;gap:6px;}
.cm-puppies-litter-card__date{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 12px;border-radius:999px;background:rgba(109,79,60,.11);color:#7a5a69;font-size:12px;font-weight:800;letter-spacing:.04em;line-height:1;text-transform:uppercase;}
.cm-puppies-litter-card__body h2{margin:0;font-size:clamp(22px,1.65vw,28px);line-height:1.08;color:#5c3240;text-wrap:balance;}
.cm-puppies-litter-card__body h2 a{color:inherit;text-decoration:none;}
.cm-puppies-litter-card__body p{margin:0;font-size:15px;line-height:1.45;color:#6d5044;}
.cm-public-btn--nursery{width:auto;max-width:100%;padding:8px 14px;border-radius:999px;background:#80546a;box-shadow:0 10px 18px rgba(84,43,63,.22);font-size:14px;line-height:1.1;white-space:nowrap;}
.cm-public-btn--nursery:hover{background:#71465c;}

.cm-puppies-scene__empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:12px 6px 14px;text-align:center;}
.cm-puppies-scene__empty p{margin:0;padding:16px 18px;border-radius:18px;background:rgba(255,251,249,.84);border:1px solid rgba(255,255,255,.56);color:#5b4639;box-shadow:0 14px 28px rgba(67,47,33,.12);}

.cm-page-puppies-scene .cm-site-footer{margin-top:0;background:#050505;position:relative;z-index:4;}
.cm-page-puppies-scene .cm-site-footer::before{content:"";position:absolute;left:0;right:0;top:-14vh;height:14vh;pointer-events:none;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.08) 22%, rgba(5,5,5,.20) 46%, rgba(5,5,5,.46) 72%, #050505 100%);}
.cm-page-puppies-scene .cm-site-footer::after{display:none;}
.cm-page-puppies-scene .cm-site-footer__inner{padding-top:26px;}

@media (max-width: 1180px){
  .cm-puppies-glass{width:min(460px,42vw);top:clamp(176px,22vh,230px);}
}

@media (max-width: 960px) and (orientation: landscape){
  .cm-puppies-scene,
  .cm-puppies-scene__stage{min-height:100svh;height:100svh;}
  .cm-puppies-scene__art img{object-position:center 4%;}
  .cm-puppies-scene__title{top:10px;width:min(68vw,560px);}
  .cm-puppies-scene__title span{font-size:clamp(18px,2.8vw,24px);}
  .cm-puppies-scene__title strong{font-size:clamp(30px,5vw,40px);}
  .cm-puppies-glass{left:auto;right:0;transform:none;top:78px;bottom:14px;width:min(420px,56vw);padding:12px 12px 10px;border-radius:26px 0 0 26px;}
  .cm-puppies-glass__head h1{font-size:clamp(19px,2.8vw,24px);}
  .cm-puppies-glass__list{gap:10px;padding-right:4px;}
  .cm-puppies-litter-card{grid-template-columns:74px minmax(0,1fr);gap:10px;padding:10px;}
  .cm-puppies-litter-card__thumb{width:74px;height:74px;border-radius:16px;}
  .cm-puppies-litter-card__date{min-height:22px;padding:3px 10px;font-size:10px;}
  .cm-puppies-litter-card__body h2{font-size:clamp(16px,2.2vw,20px);}
  .cm-puppies-litter-card__body p{font-size:12px;}
  .cm-public-btn--nursery{padding:7px 12px;font-size:12px;}
  .cm-page-puppies-scene .cm-site-footer::before{top:-12vh;height:12vh;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.06) 24%, rgba(5,5,5,.18) 48%, rgba(5,5,5,.42) 76%, #050505 100%);}
}

@media (max-width: 700px) and (orientation: portrait){
  .cm-puppies-scene,
  .cm-puppies-scene__stage{min-height:100svh;height:100svh;}
  .cm-puppies-scene__art img{object-position:center top;}
  .cm-puppies-scene__title{top:10px;width:min(94vw,540px);}
  .cm-puppies-scene__title span{font-size:clamp(18px,6.2vw,24px);}
  .cm-puppies-scene__title strong{font-size:clamp(34px,11vw,46px);}
  .cm-puppies-glass{left:9px;right:9px;transform:none;width:auto;top:clamp(320px,44svh,390px);bottom:max(14px, env(safe-area-inset-bottom));padding:12px 12px 10px;border-radius:26px;}
  .cm-puppies-glass__head{padding:2px 4px 0;}
  .cm-puppies-glass__head h1{font-size:clamp(16px,6.4vw,24px);}
  .cm-puppies-glass__list{gap:10px;padding-right:4px;padding-bottom:10px;}
  .cm-puppies-litter-card{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px;align-items:start;}
  .cm-puppies-litter-card__thumb{width:72px;height:72px;border-radius:16px;}
  .cm-puppies-litter-card__date{min-height:22px;padding:3px 10px;font-size:10px;}
  .cm-puppies-litter-card__body{gap:4px;}
  .cm-puppies-litter-card__body h2{font-size:clamp(17px,5.6vw,24px);}
  .cm-puppies-litter-card__body p{font-size:13px;}
  .cm-public-btn--nursery{padding:7px 12px;font-size:13px;}
  .cm-page-puppies-scene .cm-site-footer::before{top:-18vh;height:18vh;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.08) 18%, rgba(5,5,5,.28) 42%, rgba(5,5,5,.62) 72%, #050505 100%);}
}

@media (max-width: 420px) and (orientation: portrait){
  .cm-puppies-scene__title{top:8px;}
  .cm-puppies-scene__title span{font-size:17px;}
  .cm-puppies-scene__title strong{font-size:33px;}
  .cm-puppies-glass{left:8px;right:8px;top:clamp(306px,43svh,372px);bottom:max(12px, env(safe-area-inset-bottom));padding:10px 10px 8px;}
  .cm-puppies-litter-card{grid-template-columns:68px minmax(0,1fr);padding:9px;}
  .cm-puppies-litter-card__thumb{width:68px;height:68px;}
  .cm-puppies-litter-card__body h2{font-size:clamp(16px,5.3vw,20px);}
  .cm-puppies-litter-card__body p{font-size:12px;}
  .cm-public-btn--nursery{font-size:12px;}
}

@media (prefers-reduced-motion: reduce){
  .cm-puppies-glass__list{-webkit-overflow-scrolling:auto;}
}

/* Scene portée */
.cm-page-litter-scene .cm-site-shell,
.cm-page-litter-scene .cm-page-wrap{max-width:none;width:100%;padding-left:0;padding-right:0;}
.cm-litter-scene-page{position:relative;background:#050505;}
.cm-litter-scene{position:relative;min-height:100svh;height:100svh;display:block;background:#050505;overflow:hidden;}
.cm-litter-scene__stage{position:relative;width:100vw;height:100svh;overflow:hidden;}
.cm-litter-scene__art,
.cm-litter-scene__art img{display:block;width:100%;height:100%;}
.cm-litter-scene__art{position:absolute;inset:0;z-index:1;}
.cm-litter-scene__art img{object-fit:cover;object-position:center center;background:#050505;}
.cm-litter-scene__title{position:absolute;left:50%;top:18%;z-index:4;transform:translateX(-50%);display:grid;justify-items:center;align-content:center;gap:4px;width:min(88vw,920px);padding:12px 18px;text-align:center;pointer-events:none;isolation:isolate;}
.cm-litter-scene__title::before{content:none;}
.cm-litter-scene__title::after{display:none;}
.cm-litter-scene__title-kicker{display:block;font-family:'CherryBombOne', system-ui, sans-serif;font-size:clamp(29px,3.24vw,48px);font-weight:400;line-height:1;color:#f5a4c7;letter-spacing:.01em;text-shadow:0 4px 18px rgba(29,10,18,.26), 0 1px 0 rgba(255,255,255,.18), 1px 0 0 rgba(108,38,68,.72), -1px 0 0 rgba(108,38,68,.72), 0 1px 0 rgba(108,38,68,.72), 0 -1px 0 rgba(108,38,68,.72);-webkit-text-stroke:1px rgba(108,38,68,.72);paint-order:stroke fill;}
.cm-litter-scene__title strong{display:block;font-family:'CherryBombOne', system-ui, sans-serif;font-size:clamp(62px,7.44vw,110px);font-weight:400;line-height:.94;letter-spacing:.01em;color:#ef78a7;text-shadow:0 6px 22px rgba(29,10,18,.28), 0 1px 0 rgba(255,255,255,.18), 1px 0 0 rgba(108,38,68,.76), -1px 0 0 rgba(108,38,68,.76), 0 1px 0 rgba(108,38,68,.76), 0 -1px 0 rgba(108,38,68,.76);-webkit-text-stroke:1px rgba(108,38,68,.76);paint-order:stroke fill;text-wrap:balance;max-width:100%;}
.cm-litter-scene__title-glow{display:none;}
.cm-litter-summary{position:absolute;top:8.6%;right:clamp(8px,1.4vw,18px);z-index:4;width:min(360px,28vw);display:grid;gap:9px;padding:18px 18px 19px;border-radius:24px;background:rgba(255,248,247,.72);backdrop-filter:blur(10px) saturate(1.06);-webkit-backdrop-filter:blur(10px) saturate(1.06);border:1px solid rgba(255,255,255,.38);box-shadow:0 18px 32px rgba(62,29,37,.18);color:#4b332e;}
.cm-litter-summary h1{margin:0;font-size:clamp(22px,2vw,34px);line-height:1.12;color:#4f2e35;text-wrap:balance;}
.cm-litter-summary p{margin:0;color:#654c45;line-height:1.6;}
.cm-litter-summary__back{display:inline-flex;align-items:center;width:max-content;color:#7d5665;text-decoration:none;font-weight:700;}
.cm-litter-summary__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.cm-litter-summary__facts>div{display:grid;gap:4px;padding:10px 11px;border-radius:16px;background:rgba(255,255,255,.38);border:1px solid rgba(126,97,75,.14);}
.cm-litter-summary__facts span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a6b52;}
.cm-litter-summary__facts strong{color:#4a3032;line-height:1.3;}
.cm-litter-scene__cards-wrap{position:absolute;left:0;right:0;bottom:1.2vh;z-index:4;padding:0 clamp(12px,2vw,28px);pointer-events:none;}
.cm-litter-scene__cards{display:flex;gap:14px;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding:16px 2px 18px;scrollbar-width:thin;scroll-snap-type:x proximity;pointer-events:auto;}
.cm-litter-scene__cards::-webkit-scrollbar{height:10px;}
.cm-litter-scene__cards::-webkit-scrollbar-thumb{background:rgba(92,58,62,.34);border-radius:999px;}
.cm-litter-scene-card{flex:0 0 clamp(170px,16vw,214px);scroll-snap-align:start;}
.cm-litter-scene-card__inner{height:100%;display:grid;gap:0;text-decoration:none;color:#3b2523;background:rgba(255,248,247,.74);backdrop-filter:blur(9px) saturate(1.06);-webkit-backdrop-filter:blur(9px) saturate(1.06);border:1px solid rgba(255,255,255,.36);border-radius:24px;box-shadow:0 18px 32px rgba(62,29,37,.18);overflow:hidden;transform:translateY(0) rotate(0deg);transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;}
.cm-litter-scene-card__photo{aspect-ratio:1/1;overflow:hidden;background:#efe5da;}
.cm-litter-scene-card__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s ease, filter .32s ease;}
.cm-litter-scene-card__body{padding:12px 13px 14px;display:grid;gap:8px;}
.cm-litter-scene-card__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.cm-litter-scene-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:rgba(109,79,60,.10);color:#654744;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;}
.cm-litter-scene-chip--status.is-available{background:rgba(101,160,112,.16);color:#2f6a3e;}
.cm-litter-scene-chip--status.is-reserved{background:rgba(214,109,150,.18);color:#8a3556;}
.cm-litter-scene-chip--status.is-pending,.cm-litter-scene-chip--status.is-option{background:rgba(228,175,81,.20);color:#8a5b18;}
.cm-litter-scene-chip--status.is-retained,.cm-litter-scene-chip--status.is-unavailable{background:rgba(112,104,127,.18);color:#554f67;}
.cm-litter-scene-chip--status.is-adopted{background:rgba(87,54,112,.16);color:#51386d;}
.cm-litter-scene-chip--status.is-unknown{background:rgba(91,70,57,.10);color:#6d4f3c;}
.cm-litter-scene-card__body h2{margin:0;font-size:clamp(16px,1.12vw,20px);line-height:1.14;color:#59343f;}
.cm-litter-scene-card__body p{margin:0;font-size:12px;color:#76555f;line-height:1.4;}
@media (hover:hover) and (pointer:fine){
  .cm-litter-scene-card__inner:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:0 24px 44px rgba(62,29,37,.28);border-color:rgba(214,109,150,.34);background:rgba(255,248,247,.84);}
  .cm-litter-scene-card__inner:hover .cm-litter-scene-card__photo img{transform:scale(1.06);filter:saturate(1.04);}
  .cm-litter-scene-card:nth-child(even) .cm-litter-scene-card__inner:hover{transform:translateY(-10px) rotate(1deg);}
}
.cm-litter-scene__empty{position:absolute;left:0;right:0;bottom:5vh;z-index:4;display:flex;justify-content:center;padding:0 20px;}
.cm-litter-scene__empty p{margin:0;background:rgba(255,250,246,.74);backdrop-filter:blur(8px);padding:16px 20px;border-radius:18px;color:#5b4639;box-shadow:0 14px 30px rgba(67,47,33,.14);}

.cm-page-litter-scene .cm-site-footer{margin-top:0;background:#050505;position:relative;z-index:4;}
.cm-page-litter-scene .cm-site-footer::before{content:"";position:absolute;left:0;right:0;top:-16vh;height:16vh;pointer-events:none;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.08) 22%, rgba(5,5,5,.20) 46%, rgba(5,5,5,.46) 72%, #050505 100%);}
.cm-page-litter-scene .cm-site-footer::after{display:none;}
.cm-page-litter-scene .cm-site-footer__inner{padding-top:26px;}

@media (max-width: 1280px){
  .cm-litter-summary{top:9.2%;right:clamp(8px,1.2vw,16px);width:min(340px,30vw);padding:16px 16px 17px;}
  .cm-litter-scene-card{flex-basis:clamp(164px,18.5vw,204px);}
}

@media (max-width: 1100px){
  .cm-litter-summary{top:9.8%;right:clamp(8px,1.1vw,14px);width:min(320px,31vw);padding:15px 15px 16px;}
  .cm-litter-summary h1{font-size:clamp(20px,2.1vw,28px);}
  .cm-litter-scene-card{flex-basis:clamp(156px,21vw,194px);}
}

@media (max-width: 900px), (orientation: portrait){
  .cm-litter-scene{min-height:100svh;height:100svh;}
  .cm-litter-scene__stage{width:100vw;height:100svh;}
  .cm-litter-scene__title{top:50%;transform:translate(-50%,-50%);width:min(95vw,760px);min-height:0;gap:4px;padding:8px 14px;align-content:center;}
  .cm-litter-scene__title::before{display:none;}
  .cm-litter-scene__title-kicker{font-size:clamp(29px,7.8vw,43px);}
  .cm-litter-scene__title strong{font-size:clamp(55px,14.4vw,84px);}
  .cm-litter-summary{top:12.5%;left:50%;right:auto;transform:translateX(-50%);width:min(92vw,520px);padding:16px 16px 17px;border-radius:22px;gap:8px;}
  .cm-litter-summary h1{font-size:clamp(20px,5vw,28px);}
  .cm-litter-summary p{font-size:14px;line-height:1.5;}
  .cm-litter-summary__facts{gap:8px;}
  .cm-litter-summary__facts>div{padding:10px 11px;border-radius:16px;}
  .cm-litter-scene__cards-wrap{bottom:.8vh;padding:0 10px;}
  .cm-litter-scene__cards{gap:12px;padding:14px 0 16px;}
  .cm-litter-scene-card{flex:0 0 min(42vw,198px);}
  .cm-litter-scene-card__inner{border-radius:20px;}
  .cm-litter-scene-card__body{padding:11px 11px 13px;gap:7px;}
  .cm-litter-scene-chip{padding:4px 8px;font-size:10px;}
  .cm-litter-scene-card__body h2{font-size:clamp(14px,4vw,18px);}
  .cm-litter-scene-card__body p{font-size:11px;}
  .cm-page-litter-scene .cm-site-footer::before{top:-19vh;height:19vh;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.08) 18%, rgba(5,5,5,.28) 42%, rgba(5,5,5,.62) 72%, #050505 100%);}
}

@media (max-width: 640px){
  .cm-litter-summary{top:11.6%;width:min(93vw,420px);}
  .cm-litter-summary__facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cm-litter-scene-card{flex-basis:min(56vw,188px);}
  .cm-litter-scene-chip{padding:4px 8px;font-size:10px;}
}

@media (max-width: 960px) and (orientation: landscape){
  .cm-litter-scene__art img{object-position:center 18%;}
  .cm-litter-scene__title{top:18%;transform:translateX(-50%);width:min(84vw,760px);min-height:0;gap:2px;padding:8px 14px;align-content:center;}
  .cm-litter-scene__title::before{display:none;}
  .cm-litter-scene__title-kicker{font-size:clamp(19px,2.88vw,29px);}
  .cm-litter-scene__title strong{font-size:clamp(41px,6.24vw,62px);}
  .cm-litter-summary{top:8.2%;right:1.2vw;transform:none;width:min(268px,29vw);padding:12px 12px 13px;gap:6px;border-radius:16px;}
  .cm-litter-summary h1{font-size:clamp(15px,1.8vw,20px);}
  .cm-litter-summary p{font-size:11px;line-height:1.4;}
  .cm-litter-summary__facts{gap:6px;}
  .cm-litter-summary__facts>div{padding:7px 8px;border-radius:12px;}
  .cm-litter-summary__facts span{font-size:8px;}
  .cm-litter-summary__facts strong{font-size:11px;}
  .cm-litter-scene__cards-wrap{bottom:0;padding:0 10px;}
  .cm-litter-scene__cards{gap:10px;padding:10px 0 12px;}
  .cm-litter-scene-card{flex:0 0 clamp(112px,14vw,140px);}
  .cm-litter-scene-card__inner{border-radius:16px;}
  .cm-litter-scene-card__body{padding:8px 8px 9px;gap:5px;}
  .cm-litter-scene-chip{padding:3px 6px;font-size:7px;}
  .cm-litter-scene-card__body h2{font-size:clamp(9px,1.3vw,12px);}
  .cm-litter-scene-card__body p{font-size:8px;line-height:1.3;}
  .cm-page-litter-scene .cm-site-footer::before{top:-12vh;height:12vh;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.06) 24%, rgba(5,5,5,.18) 48%, rgba(5,5,5,.42) 76%, #050505 100%);}
}


.cm-litter-mobile-content{display:none;position:relative;background:linear-gradient(180deg,#1a1213 0%,#241718 16%,#2f1f21 38%,#f7efeb 100%);padding:0 0 48px;}
.cm-litter-mobile-content::before{content:"";position:absolute;left:0;right:0;top:-22vh;height:22vh;pointer-events:none;background:linear-gradient(to bottom, rgba(5,5,5,0) 0%, rgba(5,5,5,.08) 18%, rgba(5,5,5,.24) 42%, rgba(26,18,19,.72) 74%, #1a1213 100%);}
.cm-litter-mobile-content__inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:22px 16px 0;display:grid;gap:18px;}
.cm-litter-mobile-summary{display:grid;gap:10px;background:rgba(255,250,244,.92);}
.cm-litter-mobile-summary h2{margin:0;font-size:clamp(24px,6vw,34px);line-height:1.1;color:#4f2e35;text-wrap:balance;}
.cm-litter-mobile-summary p{margin:0;color:#654c45;line-height:1.6;}
.cm-litter-mobile-summary__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.cm-litter-mobile-summary__facts > div{display:grid;gap:4px;padding:11px 12px;border-radius:16px;background:rgba(91,70,57,.06);border:1px solid rgba(126,97,75,.14);}
.cm-litter-mobile-summary__facts span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a6b52;}
.cm-litter-mobile-summary__facts strong{color:#4a3032;line-height:1.35;}
.cm-litter-mobile-puppies{display:grid;gap:14px;}
.cm-litter-mobile-puppies__head{display:grid;gap:6px;padding:0 4px;}
.cm-litter-mobile-puppies__head h2{margin:0;font-size:clamp(24px,6.2vw,34px);line-height:1.1;color:#fff3f4;text-shadow:0 4px 14px rgba(0,0,0,.18);}
.cm-litter-mobile-puppies__head p{margin:0;color:rgba(255,240,240,.86);line-height:1.55;}
.cm-litter-mobile-puppies__empty p{margin:0;color:#5b4639;}
.cm-litter-mobile-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.cm-litter-mobile-card{display:block;}
.cm-litter-mobile-card__inner{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0;text-decoration:none;color:#3b2523;background:rgba(255,250,244,.94);border:1px solid rgba(255,255,255,.48);border-radius:22px;overflow:hidden;box-shadow:0 16px 34px rgba(42,23,24,.18);transform:translateY(0);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.cm-litter-mobile-card__photo{min-height:100%;background:#efe5da;}
.cm-litter-mobile-card__photo img{width:100%;height:100%;display:block;object-fit:cover;}
.cm-litter-mobile-card__body{padding:14px 14px 15px;display:grid;gap:8px;align-content:center;}
.cm-litter-mobile-card__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.cm-litter-mobile-card__body h3{margin:0;font-size:20px;line-height:1.12;color:#59343f;}
.cm-litter-mobile-card__body p{margin:0;font-size:13px;color:#76555f;line-height:1.45;}
.cm-litter-scrollcue{display:none;position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5;text-decoration:none;pointer-events:auto;align-items:center;justify-content:center;flex-direction:column;gap:0;}
.cm-litter-scrollcue__label{display:none;}
.cm-litter-scrollcue__img{display:block;width:min(30vw,131px);height:auto;filter:drop-shadow(0 16px 20px rgba(91,10,21,.34));animation:cmScrollCueComic 2.5s ease-in-out infinite;will-change:transform;}
@keyframes cmScrollCueComic{0%,100%{transform:translateY(0) rotate(-2deg) scale(1);}35%{transform:translateY(8px) rotate(1.5deg) scale(1.03);}68%{transform:translateY(2px) rotate(-1.1deg) scale(.985);}}

@media (hover:hover) and (pointer:fine){
  .cm-litter-mobile-card__inner:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(42,23,24,.24);border-color:rgba(214,109,150,.34);}
}

@media (max-width: 900px), (orientation: portrait){
  .cm-litter-summary,
  .cm-litter-scene__cards-wrap,
  .cm-litter-scene__empty{display:none;}
  .cm-litter-scene{overflow:hidden;}
  .cm-litter-scene__stage{overflow:hidden;}
  .cm-litter-scrollcue{display:flex;}
  .cm-litter-mobile-content{display:block;}
}

@media (max-width: 640px){
  .cm-litter-mobile-content__inner{padding:20px 14px 0;gap:16px;}
  .cm-litter-mobile-summary{padding:18px;}
  .cm-litter-mobile-summary__facts{grid-template-columns:1fr 1fr;gap:8px;}
  .cm-litter-mobile-card__inner{grid-template-columns:104px minmax(0,1fr);border-radius:20px;}
  .cm-litter-mobile-card__body{padding:12px 12px 13px;gap:7px;}
  .cm-litter-mobile-card__body h3{font-size:18px;}
  .cm-litter-mobile-card__body p{font-size:12px;}
  .cm-litter-scrollcue__label{display:none;}
  .cm-litter-scrollcue__img{width:min(20vw,63px);}
}

@media (max-width: 430px){
  .cm-litter-scene__art img{object-position:center center;}
  .cm-litter-scene__title{top:50%;width:min(96vw,520px);min-height:min(42.6vw,213px);gap:4px;padding:0 10px;align-content:center;}
  .cm-litter-scene__title::before{content:none;display:none;}
  .cm-litter-scene__title-kicker{font-size:clamp(26px,7.8vw,34px);}
  .cm-litter-scene__title strong{font-size:clamp(48px,15.12vw,67px);}
  .cm-litter-mobile-card__inner{grid-template-columns:96px minmax(0,1fr);}
  .cm-litter-mobile-card__chips{gap:6px;}
  .cm-litter-mobile-card__body h3{font-size:17px;}
}

@media (max-width: 900px) and (max-height: 540px) and (orientation: landscape){
  .cm-litter-scrollcue{bottom:max(8px,env(safe-area-inset-bottom));}
  .cm-litter-scrollcue__img{width:min(10.5vw,36px);}
}

@media (max-width: 640px) and (orientation: landscape){
  .cm-litter-scrollcue{bottom:max(6px,env(safe-area-inset-bottom));}
  .cm-litter-scrollcue__img{width:min(9vw,30px);}
}

@media (max-width: 820px) and (max-height: 430px) and (orientation: landscape){
  .cm-litter-scrollcue__img{width:min(7.5vw,27px);}
}


@media (min-width: 961px) and (orientation: landscape){
  .cm-litter-scene__title{top:18%;transform:translateX(-50%);}
}

@media (max-width: 900px) and (max-height: 540px) and (orientation: landscape){
  .cm-litter-scene__title{top:16%;transform:translateX(-50%);}
}

@media (max-width: 640px) and (orientation: landscape){
  .cm-litter-scene__title{top:15%;transform:translateX(-50%);}
}

@media (max-width: 820px) and (max-height: 430px) and (orientation: landscape){
  .cm-litter-scene__title{top:13%;transform:translateX(-50%);}
}


@media (orientation: portrait){
  .cm-litter-scene__title{top:40%;transform:translate(-50%,-50%);}
}

@media (prefers-reduced-motion: reduce){
  .cm-litter-scrollcue__img{animation:none;}
  .cm-litter-mobile-card__inner,
  .cm-litter-scene-card__inner,
  .cm-litter-scene-card__photo img{transition:none;}
}



/* ===== Fiche chiot : miniatures galerie ===== */
.cm-public-gallery {
  gap: 12px;
}

.cm-public-gallery > a,
.cm-public-gallery > button,
.cm-public-gallery > .cm-public-gallery__thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 110px !important;
  height: 110px !important;
  min-width: 110px !important;
  min-height: 110px !important;
  padding: 4px;
  box-sizing: border-box;
  border: 2px solid #ffffff;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  overflow: hidden;
}

.cm-public-gallery > a img,
.cm-public-gallery > button img,
.cm-public-gallery > .cm-public-gallery__thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 10px;
}


/* ===== Fiche chiot : like photo principale ===== */
.cm-public-puppy-mainmedia {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
}

.cm-public-puppy-mainmedia > img {
  display: block;
  width: 100%;
  border-radius: 2px;
  box-shadow: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  pointer-events: auto;
}

.cm-public-gallery img {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.cm-public-puppy-polaroid-bar {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 4px 2px;
  min-height: 42px;
}

.cm-public-puppy-polaroid-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.cm-public-puppy-polaroid-name {
  min-width: 0;
  margin-left: auto;
  text-align: right;
  font-family: 'CherryBombOne', system-ui, sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  line-height: 1.05;
  letter-spacing: .01em;
  color: #8d5162;
  text-shadow: 0 1px 0 rgba(255,255,255,.82);
  text-wrap: balance;
}

.cm-public-photo-like {
  position: static;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 142px;
  margin: 0;
  padding: 6px 16px 6px 11px;
  border: 2px solid rgba(228,205,214,.9);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,250,252,.98) 0%, rgba(255,242,247,.98) 100%);
  box-shadow: 0 8px 18px rgba(67,47,33,.10);
  cursor: pointer;
  z-index: 3;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}

.cm-public-photo-like:hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 18px 32px rgba(67,47,33,.20);
}

.cm-public-photo-like:focus-visible {
  outline: 3px solid rgba(214,109,150,.35);
  outline-offset: 2px;
}

.cm-public-photo-like.is-loading {
  opacity: .8;
}

.cm-public-photo-like.is-liked {
  background: linear-gradient(180deg, rgba(255,239,245,.99) 0%, rgba(255,228,238,.99) 100%);
  border-color: rgba(232,184,201,.95);
}

.cm-public-photo-like.is-bump,
.cm-public-puppy-share.is-bump {
  animation: cm-public-like-bump .36s ease;
}

.cm-public-photo-like__heart {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  background: center / contain no-repeat url('/assets/images/ui/like-heart-off.png');
  transform-origin: 50% 55%;
}

.cm-public-photo-like.is-liked .cm-public-photo-like__heart {
  background-image: url('/assets/images/ui/like-heart-on.png');
  animation: cm-public-like-heartbeat 1.18s ease-in-out infinite;
}

.cm-public-photo-like__count {
  position: relative;
  z-index: 1;
  min-width: 1.65em;
  transform: translateY(-2px);
  font-family: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  font-size: 1.28rem;
  font-weight: 900;
  color: #7a263d;
  line-height: 1;
  letter-spacing: .01em;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.cm-public-puppy-share {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 142px;
  margin: 0;
  padding: 5px 16px 5px 11px;
  border: 2px solid rgba(208, 214, 229, .92);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(244,247,252,.98) 100%);
  box-shadow: 0 8px 18px rgba(67,47,33,.10);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}

.cm-public-puppy-share:hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 18px 32px rgba(67,47,33,.18);
}

.cm-public-puppy-share:focus-visible {
  outline: 3px solid rgba(95,134,208,.28);
  outline-offset: 2px;
}

.cm-public-puppy-share.is-loading {
  opacity: .82;
}

.cm-public-puppy-share.is-shared {
  border-color: rgba(166, 192, 238, .94);
  background: linear-gradient(180deg, rgba(239,245,255,.99) 0%, rgba(228,237,255,.99) 100%);
}

.cm-public-puppy-share.is-disabled,
.cm-public-puppy-share:disabled {
  opacity: .62;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 6px 14px rgba(67,47,33,.08);
}

.cm-public-puppy-share__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 0;
  background: transparent url('/assets/images/ui/share-icon-red.png') center center / contain no-repeat;
  box-shadow: none;
}

.cm-public-puppy-share__icon svg {
  display: none;
}

.cm-public-puppy-share.is-shared .cm-public-puppy-share__icon {
  transform: scale(1.03);
}

.cm-public-puppy-share__count {
  min-width: 1.45em;
  font-family: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1;
  color: #33507f;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

@keyframes cm-public-like-heartbeat {
  0%, 100% { transform: scale(1); }
  14% { transform: scale(1.08); }
  28% { transform: scale(.97); }
  42% { transform: scale(1.12); }
  58% { transform: scale(1); }
}

@keyframes cm-public-like-bump {
  0% { transform: scale(1); }
  40% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

@media (max-width: 640px) {
  .cm-public-puppy-mainframe {
    padding: 10px 10px 14px;
    border-radius: 10px;
  }

  .cm-public-puppy-polaroid-bar {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 8px;
    min-height: 40px;
    padding: 10px 2px 2px;
  }

  .cm-public-puppy-polaroid-actions {
    gap: 8px;
  }

  .cm-public-photo-like {
    min-width: 120px;
    padding: 5px 13px 5px 10px;
    gap: 10px;
  }

  .cm-public-photo-like__heart {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .cm-public-photo-like__count {
    min-width: 1.55em;
    font-size: 1.14rem;
  }

  .cm-public-puppy-share {
    min-width: 120px;
    padding: 4px 13px 4px 10px;
    gap: 9px;
  }

  .cm-public-puppy-share__icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  .cm-public-puppy-share__icon svg {
    display: none;
  }

  .cm-public-puppy-share__count {
    font-size: 1.08rem;
  }

  .cm-public-puppy-polaroid-name {
    justify-self: end;
    font-family: 'CherryBombOne', system-ui, sans-serif;
    font-size: clamp(1.06rem, 5vw, 1.38rem);
    line-height: 1.02;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cm-public-photo-like,
  .cm-public-photo-like__heart,
  .cm-public-puppy-share,
  .cm-public-puppy-share__icon {
    transition: none;
    animation: none;
  }
}

