/* FOTOS MEMORIAS V331 | Home inspirada na imagem aprovada enviada em 07/11/2026.
   Estilos estritamente escopados; nenhum seletor altera Pix, chat, checkout ou paginas publicas.
   Arte decorativa extraida da referencia; conteudo e controles permanecem DOM reais. */
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]){
 background:linear-gradient(180deg,#fff4f7 0%,#fbe4ec 48%,#fff5f8 100%)!important;
}
body:has(#main-content .fm331-home) #main-content{background:transparent!important;padding-top:0!important}
#main-content .fm331-home{
 --fm331-wine:#64142f;--fm331-pink:#ae315c;--fm331-pale:#fff5f8;
 max-width:980px!important;margin:0 auto!important;padding:12px 12px 20px!important;
 display:flex!important;flex-direction:column!important;gap:14px!important;
 color:#541c34!important;font-family:'Manrope',system-ui,sans-serif!important;
 box-sizing:border-box!important;isolation:isolate!important;
}
#main-content .fm331-home *{box-sizing:border-box}
/* Hero com arte ao lado do texto, em vez de screenshot estatico. */
#main-content .fm331-hero{
 display:block!important;position:relative!important;overflow:hidden!important;
 min-height:390px!important;margin:0!important;padding:23px 22px 20px!important;
 border:1px solid #f3dce4!important;border-radius:32px!important;
 background:radial-gradient(circle at 90% 8%,#fff9fb 0%,transparent 45%),
 linear-gradient(116deg,#fff8fa 0%,#fff3f6 40%,#f7d6e1 100%)!important;
 box-shadow:0 15px 35px rgba(122,31,63,.09),inset 0 1px 0 white!important;
 isolation:isolate!important;
}
#main-content .fm331-hero:before{
 content:''!important;position:absolute!important;inset:0!important;
 background:linear-gradient(90deg,rgba(255,247,251,.85) 0%,rgba(255,247,251,.24) 57%,transparent 80%)!important;
 z-index:0!important;pointer-events:none!important;
}
#main-content .fm331-hero:after{
 content:'♡'!important;position:absolute!important;top:19px!important;right:24%!important;
 font:400 125px/1 Georgia,serif!important;color:rgba(255,255,255,.72)!important;
 text-shadow:0 0 12px rgba(235,124,161,.6)!important;
 background:none!important;pointer-events:none!important;z-index:0!important;
}
#main-content .fm331-hero-art{
 display:block!important;position:absolute!important;right:-2%!important;top:0!important;
 width:62%!important;height:100%!important;max-width:none!important;
 object-fit:cover!important;object-position:48% 48%!important;
 border:0!important;border-radius:0!important;transform:none!important;
 box-shadow:none!important;z-index:0!important;pointer-events:none!important;
 filter:drop-shadow(0 8px 15px rgba(107,26,57,.08));
 -webkit-mask-image:linear-gradient(to right,transparent 0%,black 20%);
 mask-image:linear-gradient(to right,transparent 0%,black 20%);
}
#main-content .fm331-hero-copy{
 position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;justify-content:center!important;
 max-width:57%!important;width:57%!important;min-height:342px!important;
 text-align:left!important;padding:0!important;margin:0!important;
}
#main-content .fm331-hero h1,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-hero h1{
 margin:0!important;color:var(--fm331-wine)!important;
 font:700 clamp(27px,3.6vw,52px)/.98 'Cormorant Garamond',Georgia,serif!important;
 letter-spacing:-.028em!important;max-width:100%!important;text-align:left!important;
 text-shadow:none!important;overflow-wrap:normal!important;
}
#main-content .fm331-hero h1 em,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-hero h1 em{
 display:inline!important;color:#bb496e!important;font-weight:600!important;
 font-style:italic!important;text-shadow:none!important;
}
#main-content .fm331-heart{font-size:.9em!important;font-weight:400;color:#ce5984!important;vertical-align:middle}
#main-content .fm331-hero-copy>p,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-hero-copy>p{
 margin:17px 0 0!important;padding:0!important;max-width:300px!important;
 color:#634d56!important;font:500 clamp(12px,1.8vw,17px)/1.48 'Manrope',sans-serif!important;
 text-align:left!important;
}
#main-content .fm331-actions{display:block!important;width:auto!important;margin:22px 0 0!important;padding:0!important}
#main-content .fm331-main-button,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-main-button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 gap:12px!important;width:auto!important;max-width:100%!important;min-height:47px!important;
 margin:0!important;padding:10px 18px!important;border-radius:999px!important;
 background:linear-gradient(120deg,#b53c66,#801434)!important;color:#fff!important;
 border:1px solid #b35275!important;box-shadow:0 9px 17px #8a214a2c!important;
 font:700 clamp(12px,1.7vw,16px)/1.1 'Manrope',sans-serif!important;
 white-space:nowrap!important;text-decoration:none!important;
}
#main-content .fm331-main-button span:first-child{font-size:1.45em;line-height:.6}
#main-content .fm331-main-button span:last-child{font-size:1.4em;line-height:.6}
#main-content .fm331-main-button:hover{filter:brightness(1.07)}
/* Listagem responde ao catalogo Firebase, NAO forca servicos ocultos a aparecer. */
#main-content .fm331-sr-heading{position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
 white-space:nowrap!important;border:0!important}
#main-content .fm331-services{position:relative!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
#main-content .fm331-service-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:11px!important;align-items:stretch!important;margin:0!important;
}
#main-content .fm331-service-card,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-card{
 display:grid!important;grid-template-columns:clamp(50px,7.2vw,88px) minmax(0,1fr) 28px!important;
 grid-template-rows:auto!important;align-items:center!important;justify-items:stretch!important;
 min-height:123px!important;height:auto!important;max-width:none!important;
 gap:7px!important;margin:0!important;padding:13px 10px!important;
 border-radius:25px!important;border:1.5px solid rgba(255,255,255,.96)!important;
 background:linear-gradient(132deg,#fff9fc 0%,#fff1f5 90%)!important;
 box-shadow:0 8px 21px rgba(122,40,69,.08),inset 0 1px 0 #fff!important;
 color:#5c1835!important;text-align:left!important;overflow:hidden!important;
}
#main-content .fm331-service-card[hidden]{display:none!important}
#main-content .fm331-service-icon,
#main-content .fm331-service-emoji{
 display:block!important;position:relative!important;width:100%!important;height:auto!important;
 max-height:83px!important;aspect-ratio:1/1!important;object-fit:contain!important;align-self:center!important;
 border:0!important;border-radius:14px!important;box-shadow:none!important;
 background:transparent!important;flex:none!important;
}
#main-content .fm331-service-emoji{font-size:2.1rem!important;text-align:center;line-height:1.9}
#main-content .fm331-service-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;
 margin:0!important;padding:0 0 0 9px!important;border-left:1px solid #cfabb9!important;overflow:visible!important}
#main-content .fm331-service-copy h3,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-copy h3{
 margin:0!important;padding:0!important;color:#631631!important;
 font:700 clamp(17px,2.1vw,25px)/1.03 'Cormorant Garamond',Georgia,serif!important;
 letter-spacing:-.02em!important;overflow-wrap:anywhere!important;white-space:normal!important;
}
#main-content .fm331-service-copy p,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-copy p{
 margin:0!important;padding:0!important;color:#523744!important;
 font:500 clamp(10px,1.25vw,14px)/1.35 'Manrope',sans-serif!important;
 overflow-wrap:break-word!important;
}
#main-content .fm331-service-card .fm331-service-go,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-card .fm331-service-go{
 align-self:center!important;justify-self:end!important;display:grid!important;place-items:center!important;
 width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;
 border:0!important;margin:0!important;padding:0!important;
 border-radius:50%!important;background:#ffe1eb!important;color:#a62453!important;
 box-shadow:none!important;font:700 23px/1 'Manrope',sans-serif!important;
}
#main-content .fm331-service-card .fm331-example{
 display:inline-block!important;align-self:flex-start!important;width:auto!important;min-width:0!important;
 min-height:19px!important;height:auto!important;margin:2px 0 0!important;padding:0!important;border:0!important;
 background:transparent!important;color:#a74d6e!important;
 box-shadow:none!important;border-radius:0!important;
 text-decoration:underline!important;text-underline-offset:2px!important;
 font:600 10px/1.3 'Manrope',sans-serif!important;
}
#main-content .fm331-service-card :is(button,a):focus-visible,
#main-content .fm331-main-button:focus-visible,#main-content .fm331-library button:focus-visible{
 outline:3px solid #b42f69!important;outline-offset:3px!important;
}
#main-content .fm331-service-card :is(button,a):hover{filter:brightness(.94)}
#main-content .fm331-service-card .fm331-example:hover{color:#852448!important}
#main-content .fm331-home .fm293-visibility-loading{
 margin:6px 0!important;padding:14px!important;background:#fff8fb!important;border:1px solid #eccbd8!important;
 color:#75314c!important;border-radius:16px!important;text-align:center!important;
}
#main-content .fm331-home .fm293-visibility-loading[hidden]{display:none!important}
/* Biblioteca reproduz foto à esquerda, texto e botão reais à direita. */
#main-content .fm331-library{
 display:grid!important;grid-template-columns:minmax(110px,41%) minmax(0,1fr)!important;
 align-items:center!important;gap:9px!important;position:relative!important;overflow:hidden!important;
 min-height:194px!important;margin:2px 0 0!important;padding:13px 17px!important;
 border:1.5px solid #fff!important;border-radius:28px!important;
 background:linear-gradient(118deg,#fff7fa,#f9d8e4 95%)!important;
 box-shadow:0 10px 24px rgba(130,43,75,.08)!important;
}
#main-content .fm331-library>img{
 width:100%!important;max-width:260px!important;height:auto!important;
 object-fit:contain!important;align-self:center!important;justify-self:start!important;
 border:none!important;box-shadow:none!important;transform:none!important;
}
#main-content .fm331-library-text{display:flex!important;flex-direction:column!important;gap:7px!important;
 align-items:flex-start!important;text-align:left!important;min-width:0!important;position:relative!important;z-index:1!important;}
#main-content .fm331-library h2,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-library h2{
 margin:0!important;color:#631631!important;
 font:italic 650 clamp(26px,4.1vw,40px)/1 'Cormorant Garamond',Georgia,serif!important;
 letter-spacing:-.02em!important;
}
#main-content .fm331-library p,
body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-library p{
 margin:0!important;color:#593d4b!important;font:500 clamp(11px,1.55vw,15px)/1.4 'Manrope',sans-serif!important;
}
#main-content .fm331-library button{
 border:0!important;border-radius:999px!important;min-height:38px!important;margin-top:6px!important;
 padding:8px 15px!important;display:inline-flex!important;gap:8px!important;
 align-items:center!important;justify-content:center!important;
 background:linear-gradient(115deg,#ba365d,#831532)!important;color:#fff!important;
 font:700 clamp(10px,1.6vw,14px)/1.2 'Manrope',sans-serif!important;
 white-space:normal!important;text-align:center!important;
 box-shadow:0 6px 11px rgba(135,34,72,.16)!important;
}
#main-content .fm331-library button span{font-size:1.3em}
#main-content .fm331-flourish{
 height:37px!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
 font:400 42px/.9 Georgia,serif!important;color:#cc4f75!important;
}
#main-content .fm331-flourish:before,#main-content .fm331-flourish:after{
 content:''!important;display:block!important;position:absolute!important;top:55%!important;width:38%!important;
 height:1px!important;background:linear-gradient(90deg,transparent,#cf6e8c)!important;
}
#main-content .fm331-flourish:before{left:4%}
#main-content .fm331-flourish:after{right:4%;transform:rotate(180deg)}
/* Tema continua acessivel sem ocupar espaco visual da referencia. */
#main-content .fm331-theme-details{border:1px solid #efd6df!important;border-radius:16px!important;
 background:#fff9fcab!important;padding:0!important;margin:0 0 10px!important;font-size:12px!important;}
#main-content .fm331-theme-details>summary{display:flex;justify-content:space-between;gap:10px;
 padding:11px 16px;color:#793650;font-weight:700;cursor:pointer;list-style:none;}
#main-content .fm331-theme-details>summary::-webkit-details-marker{display:none}
#main-content .fm331-theme-details .fm298-theme-panel{margin:0!important;padding:12px!important;box-shadow:none!important;}
/* A barra compartilhada da V330 permanece centralizada e o logo ganha mais presenca. */
body:not(.tele-public-mode):not(.love-public-mode):not(.fm132-public-mode):has(#main-content .fm331-home) header.app-topbar{
 background:rgba(255,246,249,.96)!important;border-bottom:1px solid #efd1da!important;box-shadow:0 5px 14px #7f254116!important;
}
body:not(.tele-public-mode):not(.love-public-mode):not(.fm132-public-mode):has(#main-content .fm331-home) header.app-topbar .app-brand-logo-slot{
 width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important;border-radius:12px!important;
}
body:not(.tele-public-mode):not(.love-public-mode):not(.fm132-public-mode):has(#main-content .fm331-home) header.app-topbar .app-brand-logo-slot img{
 width:100%!important;height:100%!important;object-fit:cover!important;
}
/* Escalas para celulares sem overflow e com alvo de toque confortavel. */
@media(max-width:760px){
 #main-content .fm331-home{padding:9px 10px 15px!important;gap:12px!important}
 #main-content .fm331-hero{min-height:372px!important;padding:21px 16px!important;border-radius:27px!important}
 #main-content .fm331-hero-copy{min-height:324px!important;width:55%!important;max-width:55%!important}
 #main-content .fm331-hero h1{font-size:clamp(25px,7vw,34px)!important}
 #main-content .fm331-hero-copy>p{font-size:clamp(11px,3vw,14px)!important;margin-top:13px!important}
 #main-content .fm331-actions{margin-top:18px!important}
 #main-content .fm331-main-button{font-size:clamp(11px,3.2vw,13px)!important;min-height:42px!important;padding:9px 12px!important;gap:6px!important}
 #main-content .fm331-hero-art{width:67%!important;right:-5%!important;object-position:54% 45%!important}
 #main-content .fm331-service-grid{gap:9px!important}
 #main-content .fm331-service-card{grid-template-columns:48px minmax(0,1fr) 24px!important;gap:5px!important;min-height:104px!important;padding:9px 7px!important;border-radius:22px!important}
 #main-content .fm331-service-copy{padding-left:6px!important;gap:2px!important}
 #main-content .fm331-service-copy h3{font-size:clamp(14px,3.8vw,18px)!important;line-height:1.04!important}
 #main-content .fm331-service-copy p{font-size:clamp(9px,2.5vw,11px)!important;line-height:1.25!important}
 #main-content .fm331-service-card .fm331-service-go{min-width:24px!important;width:24px!important;height:24px!important;min-height:24px!important;font-size:21px!important}
 #main-content .fm331-service-card .fm331-example{font-size:9px!important}
 #main-content .fm331-library{min-height:153px!important;grid-template-columns:40% 1fr!important;padding:10px!important;border-radius:23px!important;gap:5px!important}
 #main-content .fm331-library h2{font-size:clamp(22px,5.4vw,30px)!important}
 #main-content .fm331-library p{font-size:clamp(10px,2.8vw,12px)!important}
 #main-content .fm331-library button{font-size:clamp(10px,2.7vw,12px)!important;min-height:35px!important;padding:8px 10px!important}
}
@media(max-width:390px){
 #main-content .fm331-hero{min-height:358px!important;padding:20px 13px!important}
 #main-content .fm331-hero-copy{width:57%!important;max-width:57%!important;min-height:310px!important}
 #main-content .fm331-hero h1{font-size:clamp(22px,7vw,29px)!important}
 #main-content .fm331-hero-copy>p{max-width:185px!important;font-size:11px!important}
 #main-content .fm331-hero-art{width:70%!important;right:-9%!important}
 #main-content .fm331-service-card{grid-template-columns:43px minmax(0,1fr) 22px!important;gap:3px!important;padding:9px 6px!important}
 #main-content .fm331-service-copy h3{font-size:clamp(13px,3.5vw,15px)!important}
 #main-content .fm331-service-copy p{font-size:9.5px!important}
 #main-content .fm331-service-card .fm331-service-go{min-width:21px!important;width:21px!important;min-height:21px!important;height:21px!important;font-size:18px!important}
 body:not(.tele-public-mode):not(.love-public-mode):not(.fm132-public-mode):has(#main-content .fm331-home) header.app-topbar .app-brand-logo-slot{width:31px!important;height:31px!important;min-width:31px!important;flex-basis:31px!important}
}
@media(max-width:340px){
 #main-content .fm331-service-grid{grid-template-columns:1fr!important}
 #main-content .fm331-service-card{grid-template-columns:60px minmax(0,1fr) 30px!important;min-height:96px!important}
 #main-content .fm331-service-copy h3{font-size:20px!important}
 #main-content .fm331-service-copy p{font-size:11px!important}
 #main-content .fm331-service-card .fm331-service-go{width:28px!important;height:28px!important}
 #main-content .fm331-hero-copy{min-height:285px!important}
 #main-content .fm331-hero{min-height:330px!important}
 #main-content .fm331-hero h1{font-size:23px!important}
 #main-content .fm331-main-button{white-space:normal!important;text-align:center!important}
}
/* Tema noturno preservado: arte permanece, superficie escurecida e textos legiveis. */
body[data-fm-home-theme="matte"] #main-content .fm331-hero{
 background:linear-gradient(120deg,#28121f,#3f2031 72%,#573146)!important;border-color:#69445a!important;
}
body[data-fm-home-theme="matte"] #main-content .fm331-hero:before{background:linear-gradient(90deg,#27131eeb,#27131eaa 52%,transparent 100%)!important}
body[data-fm-home-theme="matte"] #main-content .fm331-hero h1{color:#fff1f6!important}
body[data-fm-home-theme="matte"] #main-content .fm331-hero h1 em{color:#ffb1c9!important}
body[data-fm-home-theme="matte"] #main-content .fm331-hero-copy>p{color:#ffe4ef!important}
body[data-fm-home-theme="matte"] #main-content .fm331-service-card,
body[data-fm-home-theme="matte"] #main-content .fm331-library{background:linear-gradient(130deg,#2a1a25,#3d2434)!important;border-color:#735065!important;}
body[data-fm-home-theme="matte"] #main-content .fm331-service-copy h3,
body[data-fm-home-theme="matte"] #main-content .fm331-library h2{color:#ffeef4!important}
body[data-fm-home-theme="matte"] #main-content .fm331-service-copy p,
body[data-fm-home-theme="matte"] #main-content .fm331-library p{color:#f5dbe5!important}
body[data-fm-home-theme="matte"] #main-content .fm331-theme-details{background:#281922!important;border-color:#624156!important}
body[data-fm-home-theme="matte"] #main-content .fm331-theme-details>summary{color:#f2d4e2!important}
@media(prefers-reduced-motion:reduce){#main-content .fm331-home *{scroll-behavior:auto!important;transition:none!important}}
/* V331 review: mobile card density, do not cut words mid-letter. */
@media(max-width:760px){
 #main-content .fm331-service-card,
 body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-card{
  position:relative!important;grid-template-columns:38px minmax(0,1fr)!important;
  grid-template-rows:auto!important;gap:5px!important;padding:10px 9px!important;
  min-height:112px!important;
 }
 #main-content .fm331-service-copy{padding:0 2px 12px 7px!important;border-left:1px solid #cfabb9!important;}
 #main-content .fm331-service-copy h3,
 body:has(#main-content .fm331-home):not([data-fm-home-theme="matte"]) #main-content .fm331-service-copy h3{
  font-size:clamp(12px,3.2vw,15px)!important;line-height:1.12!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:auto!important;
 }
 #main-content .fm331-service-copy p{font-size:clamp(9px,2.45vw,11px)!important;line-height:1.3!important;}
 #main-content .fm331-service-card .fm331-service-go{
  position:absolute!important;right:7px!important;bottom:9px!important;
  width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;
 }
 #main-content .fm331-service-card .fm331-example{font-size:9px!important;min-height:14px!important;height:auto!important;}
}
@media(max-width:340px){
 #main-content .fm331-service-card{grid-template-columns:54px minmax(0,1fr)!important;min-height:98px!important}
 #main-content .fm331-service-copy h3{font-size:17px!important}
 #main-content .fm331-service-copy p{font-size:10px!important}
}
/* Serivce visibility is an authorization-aware presentation gate. Hidden always wins. */
#main-content .fm331-home .fm331-service-card[hidden],
body:has(#main-content .fm331-home) #main-content .fm331-home .fm331-service-card[hidden]{
 display:none!important;visibility:hidden!important;
}
