/* Perle: one persistent, accessible voice control; the website is the answer. */
html .sonia-concierge,html .spatial-dock{display:none!important}
.sonia-perle{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));width:82px;height:82px;padding:0;border:0;background:transparent!important;box-shadow:none!important;border-radius:50%;z-index:2147483000;cursor:pointer;touch-action:manipulation;transition:top .65s ease,left .65s ease;isolation:isolate}
.sonia-perle img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 9px #48251430);animation:perle-rest 5s ease-in-out infinite}
.sonia-perle:focus-visible{outline:2px solid #651e32;outline-offset:1px}
.sonia-perle[data-state=connecting] img{animation:perle-breathe 1s ease-in-out infinite}
.sonia-perle[data-state=active] img{animation:perle-breathe 2.5s ease-in-out infinite;filter:drop-shadow(0 0 10px #dcaa6970)}
.sonia-perle[data-speaking=true] img{animation:perle-breathe .8s ease-in-out infinite;scale:calc(1 + var(--voice-level,0)*.12)}
.sonia-perle-message{position:fixed;z-index:2147483001;bottom:calc(108px + env(safe-area-inset-bottom));right:24px;max-width:min(330px,calc(100vw - 40px));padding:12px 16px;background:#fff;color:#482631;border:1px solid #d7c3a1;border-radius:12px;font:14px/1.5 Inter,sans-serif;box-shadow:0 6px 20px #30150b12}
.sonia-perle-message[hidden]{display:none}
.sonia-visit-frame{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:2147482000;background:#fff}
.sonia-visit-active{overflow:hidden!important}
.sonia-visit-active> :not(.sonia-visit-frame):not(.sonia-perle):not(.sonia-perle-message):not(.sonia-world-link):not(.perle-permission){visibility:hidden!important}
.perle-permission{max-width:min(430px,calc(100vw - 40px));padding:26px;border:1px solid #d7c3a1;border-radius:18px;background:#fff;color:#482631}
.perle-permission::backdrop{background:#24131b66}
.perle-permission h2{margin-top:0}.perle-permission button{margin:8px 8px 0 0}
.perle-focus{outline:1px solid #bb9862;outline-offset:5px}
@keyframes perle-rest{50%{transform:translateY(-4px)}}
@keyframes perle-breathe{50%{transform:scale(1.09)}}
@media(max-width:700px){.sonia-perle{width:72px;height:72px;bottom:calc(88px + env(safe-area-inset-bottom));right:8px}.sonia-perle-message{bottom:calc(164px + env(safe-area-inset-bottom));right:16px}}
@media(prefers-reduced-motion:reduce){.sonia-perle,.sonia-perle img{animation:none!important;transition:none!important;scale:1!important}}

/* The same salon palette continues onto actual product and collection pages. */
.pp-perle-product-entry{position:relative;height:200px;overflow:hidden;background:#421b25;color:#fff0da;display:grid;place-items:center;text-align:center}
.pp-perle-product-entry>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;opacity:.34}
.pp-perle-product-entry>a{position:relative;display:grid;gap:9px;padding:20px;color:inherit;text-decoration:none}
.pp-perle-product-entry span{font:10px/1.4 Inter,sans-serif;letter-spacing:.25em}
.pp-perle-product-entry strong{font:42px/1.1 'Cormorant Garamond',serif}
.pp-perle-product-entry small{font:11px/1.5 Inter,sans-serif}
.pp-boutique-site .house-editorial{min-height:480px}
.pp-boutique-site .pp-photo-frame{background:#fff;border-radius:3px}
@media(max-width:700px){.pp-perle-product-entry{height:150px}.pp-perle-product-entry strong{font-size:32px}.pp-boutique-site .house-editorial{min-height:460px}.pp-boutique-site .house-editorial-copy{padding-top:40px}}

/* A luminous glass pearl with a fine orbit; listening stays legible without a panel. */
.sonia-perle{width:76px;height:76px;filter:drop-shadow(0 6px 13px #35121d30)}
.sonia-perle img{position:absolute;inset:8%;width:84%;height:84%;filter:drop-shadow(0 0 7px #fff5dd90);animation:perle-rest 6s ease-in-out infinite}
.sonia-perle:before,.sonia-perle:after{content:'';position:absolute;pointer-events:none;border-radius:50%}
.sonia-perle:before{inset:9%;background:radial-gradient(circle at 30% 22%,#ffffffb0,transparent 36%),radial-gradient(circle at 65% 70%,#c5a6e455,transparent 60%);border:1px solid #fff6df88;box-shadow:inset 0 0 12px #fff4ce66,0 0 18px #e7c89635}
.sonia-perle:after{inset:2%;border:1px solid #d8b58288;border-top-color:#fff9e9;border-bottom-color:transparent;transform:rotate(-30deg) scaleY(.87);transition:opacity .3s;opacity:.7}
.sonia-perle:hover:after,.sonia-perle:focus-visible:after{opacity:1}
.sonia-perle[data-state=active]:after,.sonia-perle[data-state=connecting]:after{animation:perle-orbit 3s linear infinite;border-color:#d4b67a;border-bottom-color:transparent;opacity:1}
.sonia-perle[data-speaking=true]:before{box-shadow:0 0 calc(12px + var(--voice-level,0)*26px) #edc68999}
.sonia-perle[data-state=failed]:after{border-color:#a65067}
@keyframes perle-orbit{to{transform:rotate(330deg) scaleY(.87)}}
@media(max-width:700px){.sonia-perle{width:66px;height:66px;bottom:calc(28px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.sonia-perle:after{animation:none!important}}
.pp-world-open .sonia-perle{bottom:145px;right:24px}
.pp-world-header>a{font:14px/1.3 Inter,Arial,sans-serif;padding:12px 18px;border:1px solid #d8c39b;background:#fff7e8e8;border-radius:25px;letter-spacing:0}
.pp-world-header>span{font:18px 'Cormorant Garamond',Georgia,serif;letter-spacing:.1em}

/* Direct access to the existing world, beside the persistent voice pearl. */
.sonia-world-link{position:fixed;z-index:2147483000;right:100px;bottom:calc(40px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid #c8aa77;border-radius:30px;background:#38151fee;color:#fff0d7!important;font:500 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.035em;text-decoration:none!important;box-shadow:0 4px 20px #20101324;backdrop-filter:blur(12px);touch-action:manipulation;transition:background .2s,top .65s ease,left .65s ease}
.sonia-world-link:hover{background:#592238}
.sonia-world-link:focus-visible{outline:2px solid #fff0d7;outline-offset:3px}
.perle-world-visible .sonia-perle{bottom:145px;right:24px}
.perle-world-visible .sonia-world-link{bottom:161px;right:108px}
@media(max-width:700px){.sonia-world-link{right:80px;bottom:calc(39px + env(safe-area-inset-bottom));padding:0 14px;font-size:11px}.perle-world-visible .sonia-world-link{bottom:156px;right:96px}}
@media(prefers-reduced-motion:reduce){.sonia-world-link{transition:none}}

/* Sonia portrait: an invitation to speak, kept clear of the product photography. */
.sonia-perle{width:238px;height:86px;display:flex;align-items:center;gap:13px;padding:8px 14px 8px 8px;border:1px solid #c3a678;border-radius:48px 18px 18px 48px;background:#391823!important;color:#fff3df;box-shadow:0 8px 30px #28101e30!important;filter:none;bottom:calc(22px + env(safe-area-inset-bottom));right:20px;text-align:left;transition:background .2s}
.sonia-perle:before,.sonia-perle:after{display:none}
.sonia-perle img{position:static;inset:auto;flex:none;width:68px;height:68px;border-radius:50%;object-fit:cover;object-position:50% 35%;border:1px solid #e2c297;animation:none!important;filter:none!important;scale:1!important}
.sonia-portrait-label{display:grid;gap:5px;min-width:0}.sonia-portrait-label strong{font:27px/1 Cormorant,Georgia,serif;letter-spacing:.03em}.sonia-portrait-status{font:11px/1.4 Inter,Arial,sans-serif;color:#ead1b3;white-space:nowrap}.sonia-mic{margin-left:auto;display:grid;place-items:center;flex:none;width:24px;height:28px}.sonia-mic svg{width:22px;height:26px}
.sonia-perle[data-state=active]{border-color:#e5c38b}.sonia-perle[data-state=active] .sonia-mic{color:#e6c895}.sonia-perle[data-speaking=true] .sonia-mic{animation:sonia-speaking .8s ease-in-out infinite}.sonia-perle[data-state=connecting] .sonia-mic{opacity:.55}.sonia-perle[data-state=failed]{border-color:#c77474}.sonia-perle:focus-visible{outline:3px solid #d8b37b;outline-offset:4px}
.sonia-world-link{right:272px;bottom:calc(41px + env(safe-area-inset-bottom));padding:0 15px}
.sonia-perle-message{bottom:calc(172px + env(safe-area-inset-bottom));right:20px;font-size:13px}
.perle-world-visible .sonia-perle{right:20px;bottom:140px}.perle-world-visible .sonia-world-link{right:272px;bottom:159px}
@keyframes sonia-speaking{50%{transform:scaleY(.75);opacity:.5}}
@media(max-width:700px){.sonia-perle{width:204px;height:74px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));gap:10px;padding:7px 11px 7px 7px}.sonia-perle img{width:58px;height:58px}.sonia-portrait-label strong{font-size:24px}.sonia-portrait-status{font-size:9px}.sonia-mic{width:19px}.sonia-world-link{right:226px;bottom:calc(29px + env(safe-area-inset-bottom));padding:0 11px;min-width:74px;font-size:10px}.sonia-perle-message{bottom:calc(152px + env(safe-area-inset-bottom));right:12px}.perle-world-visible .sonia-perle{right:12px}.perle-world-visible .sonia-world-link{right:226px;bottom:155px}}
@media(prefers-reduced-motion:reduce){.sonia-mic{animation:none!important}}


/* Consistent catalogue rhythm, with space reserved for the original photographs. */
.pp-boutique-site .catalog-layout .product-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #decfbc;border-radius:4px;background:#fff}
.pp-boutique-site .catalog-layout .product-image{height:250px;background:#fff;display:grid;place-items:center;overflow:hidden;margin-bottom:18px}
.pp-boutique-site .catalog-layout .product-image img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .35s}
.pp-boutique-site .catalog-layout .product-card:hover .product-image img{transform:scale(1.035)}
.pp-boutique-site .catalog-layout .product-info{display:flex;flex-direction:column;flex:1;gap:7px}
.pp-boutique-site .catalog-layout .product-info h3{font-size:26px;line-height:1.12;overflow-wrap:anywhere;margin:0;min-height:2.25em}
.pp-boutique-site .catalog-layout .product-info p{margin:0}.pp-boutique-site .catalog-layout .product-info .button{margin-top:auto}
@media(max-width:700px){.pp-boutique-site .catalog-layout .product-card{padding:10px}.pp-boutique-site .catalog-layout .product-image{height:180px;margin-bottom:12px}.pp-boutique-site .catalog-layout .product-image img{padding:8px}.pp-boutique-site .catalog-layout .product-info h3{font-size:21px}.pp-boutique-site .catalog-layout .product-info .button{padding:10px 6px;font-size:10px}}
.pp-boutique-site .main-nav>a{color:#381825}

/* A luminous portrait, responding only to the actual voice session events. */
.sonia-perle{isolation:isolate;background:linear-gradient(115deg,#522334,#281521)!important;border-color:#e0bb8999;box-shadow:0 7px 28px #2e102c38,0 0 14px #e7c08922!important}
.sonia-perle:before{display:block;inset:5px auto 5px 5px;width:74px;height:74px;z-index:-1;background:transparent;border:1px solid #fff0ce88;box-shadow:0 0 12px #e6bd8355;transform:scale(calc(1 + var(--voice-level,0)*.10));transition:transform .12s ease-out,box-shadow .12s ease-out}
.sonia-perle:after{display:block;inset:2px auto auto 2px;width:80px;height:80px;z-index:-1;background:transparent;border:1px solid #dfb77b66;border-top-color:#fff4d9;border-bottom-color:transparent;opacity:.55;transform:rotate(-35deg);animation:none}
.sonia-perle[data-state=active]:before{box-shadow:0 0 calc(10px + var(--voice-level,0)*22px) #f4c99788}
.sonia-perle[data-state=active]:after{animation:none;opacity:.9;border-color:#e9d1a288;border-top-color:#fff8e6;transform:rotate(calc(-35deg + var(--voice-level,0)*45deg));transition:transform .12s ease-out}
.sonia-perle[data-state=connecting]:after{animation:perle-orbit 3s linear infinite}
.sonia-perle[data-speaking=true] .sonia-mic{animation:none;transform:scaleY(calc(.8 + var(--voice-level,0)*.4));transition:transform .12s ease-out;color:#fff1cc}
.sonia-perle[data-state=failed]:before{box-shadow:none;border-color:#c77474}
@media(max-width:700px){.sonia-perle:before{width:62px;height:62px;inset:5px auto auto 5px}.sonia-perle:after{width:68px;height:68px;inset:2px auto auto 2px}}
@media(prefers-reduced-motion:reduce){.sonia-perle:before,.sonia-perle:after,.sonia-perle .sonia-mic{animation:none!important;transform:none!important;transition:none!important}}

/* Selected direction B: compact portrait and voice signal, shared by every page. */
body .sonia-perle.sonia-perle{width:68px;height:68px;display:block;padding:4px;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));border-radius:50%;border:1px solid #c5a87b;background:#fff!important;box-shadow:0 4px 20px #38182524!important}
body .sonia-perle.sonia-perle img{width:58px;height:58px;border:0;object-fit:cover;object-position:50% 35%}
body .sonia-perle.sonia-perle .sonia-portrait-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body .sonia-perle.sonia-perle:before{inset:-4px;width:auto;height:auto;border:1px solid #9b465144;background:none;box-shadow:none;z-index:-1}
body .sonia-perle.sonia-perle:after{display:none}
body .sonia-perle.sonia-perle .sonia-mic{position:absolute;bottom:0;right:-5px;width:27px;height:27px;display:flex;align-items:center;justify-content:center;gap:2px;margin:0;border:2px solid white;border-radius:50%;background:#651e32;color:white;transform:none;transition:none}
.sonia-mic>span{width:2px;height:7px;border-radius:3px;background:currentColor;transform-origin:center}.sonia-mic>span:nth-child(2),.sonia-mic>span:nth-child(3){height:12px}
body .sonia-perle.sonia-perle[data-speaking=true] .sonia-mic>span{animation:sonia-b-wave .65s ease-in-out infinite alternate}body .sonia-perle.sonia-perle[data-speaking=true] .sonia-mic>span:nth-child(2){animation-delay:-.2s}body .sonia-perle.sonia-perle[data-speaking=true] .sonia-mic>span:nth-child(3){animation-delay:-.4s}
body .sonia-perle.sonia-perle[data-state=connecting]:before{animation:sonia-b-connect 1s ease-in-out infinite alternate}body .sonia-perle.sonia-perle[data-state=active]:before{box-shadow:0 0 calc(4px + var(--voice-level,0)*14px) #a3465155}
body .sonia-perle.sonia-perle[data-speaking=true] .sonia-mic{transform:none;color:white}body .sonia-perle.sonia-perle[data-state=failed] .sonia-mic{background:#923c3c}
.sonia-perle-message{bottom:calc(108px + env(safe-area-inset-bottom));right:20px}
@keyframes sonia-b-wave{to{transform:scaleY(.35)}}@keyframes sonia-b-connect{to{opacity:.3;transform:scale(1.06)}}
@media(max-width:760px){body .sonia-perle.sonia-perle{width:62px;height:62px;padding:3px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom))}body .sonia-perle.sonia-perle img{width:54px;height:54px}body .sonia-perle.sonia-perle:before{inset:-4px;width:auto;height:auto}.sonia-perle-message{bottom:calc(98px + env(safe-area-inset-bottom));right:16px}}
@media(prefers-reduced-motion:reduce){body .sonia-perle.sonia-perle .sonia-mic>span{animation:none!important}}

.pp-photo-enlargement{position:relative;width:100%;height:65svh;background:white;overflow:hidden}.pp-photo-enlargement>img{width:100%;height:100%;object-fit:contain}
