/* Sanitarios Girolami · premium image framing + smooth rendering */
:root{--sg-ease:cubic-bezier(.2,.72,.2,1)}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{image-rendering:auto;-webkit-user-drag:none}

/* Render expensive sections only when they are close to the viewport. */
.homeSection,.trustStrip,.relatedSection,.specSection,.siteFooter{content-visibility:auto;contain-intrinsic-size:1px 620px}
.productCard,.categoryCard,.infoCard,.trustItem,.contactCard{contain:layout style}

/* One visual canvas for every product card. */
.productMedia{height:282px!important;padding:0!important;display:grid!important;place-items:center!important;position:relative!important;overflow:hidden!important;isolation:isolate!important;background:linear-gradient(180deg,#fff 0%,#fdfcfb 100%)!important;border:1px solid rgba(5,43,80,.07)!important}
.productMedia:after{content:"";position:absolute;inset:18px;border-radius:18px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(4,95,222,.025);z-index:-1}
.productMedia img{display:block!important;width:calc(100% - 44px)!important;height:calc(100% - 44px)!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:50% 50%!important;padding:0!important;margin:auto!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;image-rendering:auto!important;backface-visibility:hidden;transform:translate3d(0,0,0);transform-origin:50% 52%;transition:transform .22s var(--sg-ease)!important}
.productMedia img.is-tall{width:68%!important;height:91%!important}.productMedia img.is-wide{width:94%!important;height:73%!important}.productMedia img.is-squareish{width:84%!important;height:84%!important}
.productCard{height:100%;transform:translate3d(0,0,0);transition:transform .2s var(--sg-ease),box-shadow .2s ease!important}
.productBody{height:100%;display:flex!important;flex-direction:column!important}.productTitle{min-height:3.1em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.productAction{margin-top:auto}.productPrice:before{font-size:8px!important}

.detailMedia{min-height:610px!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:linear-gradient(180deg,#fff 0%,#fdfcfb 100%)!important;contain:layout style}
.detailMedia img{display:block!important;width:86%!important;height:86%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:auto!important;filter:none!important;mix-blend-mode:normal!important;image-rendering:auto!important;backface-visibility:hidden;transform:translate3d(0,0,0)}
.detailMedia img.is-tall{width:68%!important;height:92%!important}.detailMedia img.is-wide{width:94%!important;height:76%!important}

.cartItemMedia{display:grid!important;place-items:center!important;background:#fff!important;overflow:hidden!important}
.cartItemMedia img{width:82%!important;height:82%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;filter:none!important;mix-blend-mode:normal!important}

.motionReveal{will-change:transform,opacity;backface-visibility:hidden;transform:translate3d(0,14px,0)!important;transition:opacity .42s ease var(--motion-delay,0ms),transform .42s var(--sg-ease) var(--motion-delay,0ms)!important}
.motionReveal.isVisible{opacity:1!important;transform:translate3d(0,0,0)!important;will-change:auto}
.cartDrawer,.catalogSidebar{backface-visibility:hidden;contain:layout style paint}.tickerTrack{backface-visibility:hidden;will-change:transform;animation-duration:16s!important}.homeHero h1 em{animation:none!important}.floatingWhatsapp{animation:none!important;transform:translate3d(0,0,0)}

/* High-contrast premium store header */
.storeHeader{background:#f1eadf!important;border-bottom:0!important;box-shadow:0 10px 28px rgba(5,43,80,.07)!important}
.headerMain{min-height:132px!important;display:grid!important;grid-template-columns:minmax(330px,1fr) auto minmax(330px,1fr)!important;align-items:center!important;gap:32px!important;padding-top:18px!important;padding-bottom:18px!important}
.headerSearch{justify-self:start!important;position:relative!important;width:min(100%,430px)!important;height:52px!important;margin:0!important;border:2px solid rgba(5,43,80,.20)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 26px rgba(5,43,80,.10)!important;overflow:hidden!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s var(--sg-ease)!important}
.headerSearch:focus-within{border-color:#0b63ce!important;box-shadow:0 12px 30px rgba(11,99,206,.16)!important;transform:translate3d(0,-1px,0)}
.headerSearch input{width:100%!important;height:100%!important;border:0!important;background:transparent!important;outline:0!important;padding:0 64px 0 18px!important;color:#052b50!important;font-size:14px!important;font-weight:800!important;letter-spacing:-.01em!important}
.headerSearch input::placeholder{color:#314d63!important;opacity:1!important}
.headerSearch button{position:absolute!important;right:6px!important;left:auto!important;top:6px!important;width:40px!important;height:40px!important;border:0!important;border-radius:12px!important;background:#062f5b!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 6px 14px rgba(5,43,80,.16)!important;transition:background-color .18s ease,transform .18s var(--sg-ease)!important}
.headerSearch button:hover{background:#0b63ce!important;transform:scale(1.035)}
.headerSearch svg{width:19px!important;height:19px!important;stroke-width:1.8!important}
.brandLogo{justify-self:center!important;min-width:250px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.brandLogo img{width:260px!important;max-width:260px!important;max-height:88px!important;height:auto!important;object-fit:contain!important;filter:none!important}
.headerIcons{justify-self:end!important;display:flex!important;gap:10px!important;align-items:center!important}
.headerIcon{width:46px!important;height:46px!important;border:1.5px solid rgba(5,43,80,.18)!important;border-radius:14px!important;background:#fff!important;color:#062f5b!important;box-shadow:0 8px 18px rgba(5,43,80,.09)!important;transition:transform .18s var(--sg-ease),border-color .18s ease,box-shadow .18s ease!important}
.headerIcon:hover{transform:translate3d(0,-2px,0)!important;border-color:#0b63ce!important;box-shadow:0 10px 22px rgba(5,43,80,.13)!important}
.headerIcon svg{width:23px!important;height:23px!important;stroke-width:1.75!important}
.countBubble{right:-4px!important;top:-5px!important;min-width:20px!important;height:20px!important;font-size:9px!important;background:#0b63ce!important;border:2px solid #f1eadf!important}

/* Strong navy navigation inspired by social identity */
.mainNav{background:#062f5b!important;border-top:1px solid rgba(255,255,255,.05)!important;border-bottom:3px solid #e5bf86!important;box-shadow:0 12px 28px rgba(5,43,80,.16)!important}
.navInner{min-height:66px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:10px 0!important;overflow-x:auto!important;scrollbar-width:none!important}.navInner::-webkit-scrollbar{display:none!important}
.navInner a{flex:0 0 auto!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 clamp(11px,1.15vw,18px)!important;border:1px solid transparent!important;border-radius:999px!important;background:transparent!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;line-height:1!important;font-weight:900!important;letter-spacing:.01em!important;white-space:nowrap!important;transform:translate3d(0,0,0);transition:transform .18s var(--sg-ease),background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.navInner a:hover{color:#fff!important;background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.14)!important;transform:translate3d(0,-1px,0)!important}
.navInner a.active{color:#062f5b!important;background:#e8c693!important;border-color:#e8c693!important;box-shadow:0 7px 16px rgba(0,0,0,.14)!important}
.navInner a.active:hover{color:#062f5b!important;background:#f0d4a8!important;border-color:#f0d4a8!important}
.navInner a:focus-visible{outline:2px solid #f0d4a8!important;outline-offset:2px!important}

/* Give the first content section a clear separation from the header. */
.homeHero,.catalogPage,.productPage,.contactPageMain{border-top:0!important}

@media(hover:hover) and (pointer:fine){.productCard:hover{transform:translate3d(0,-4px,0)!important;box-shadow:0 18px 38px rgba(5,43,80,.10)}.productCard:hover .productMedia img{transform:translate3d(0,-2px,0) scale(1.018)!important;filter:none!important}.categoryCard:hover,.infoCard:hover{transform:translate3d(0,-2px,0)}}

@media(max-width:1100px){.headerMain{grid-template-columns:minmax(270px,1fr) auto minmax(150px,1fr)!important;gap:20px!important}.headerSearch{width:min(100%,360px)!important}.brandLogo{min-width:215px!important}.brandLogo img{width:225px!important;max-width:225px!important}}
@media(max-width:980px){.navInner{justify-content:flex-start!important;padding:8px 2px!important;gap:5px!important}.navInner a{min-height:40px!important;padding:0 13px!important;font-size:11px!important}}

@media(max-width:760px){
  html{scroll-behavior:auto}.homeSection,.trustStrip,.relatedSection,.specSection,.siteFooter{contain-intrinsic-size:1px 420px}
  .headerMain{min-height:auto!important;grid-template-columns:1fr auto!important;grid-template-areas:"logo icons" "search search"!important;gap:12px 16px!important;padding-top:12px!important;padding-bottom:14px!important}
  .brandLogo{grid-area:logo!important;justify-self:start!important;min-width:0!important}.brandLogo img{width:188px!important;max-width:188px!important;max-height:68px!important}
  .headerIcons{grid-area:icons!important}.headerIcon{width:42px!important;height:42px!important;border-radius:13px!important}
  .headerSearch{grid-area:search!important;width:100%!important;height:48px!important;border-radius:14px!important}.headerSearch input{font-size:13px!important;padding-left:15px!important}.headerSearch button{width:38px!important;height:38px!important;top:3px!important;right:4px!important}
  .productMedia{height:205px!important}.productMedia img{width:calc(100% - 26px)!important;height:calc(100% - 26px)!important}.productMedia img.is-tall{width:67%!important;height:93%!important}.productMedia img.is-wide{width:95%!important;height:70%!important}.productMedia img.is-squareish{width:86%!important;height:86%!important}
  .detailMedia{min-height:430px!important}.detailMedia img{width:88%!important;height:88%!important}.detailMedia img.is-tall{width:69%!important;height:94%!important}
  .tickerTrack{animation:none!important;will-change:auto}.motionReveal{transform:translate3d(0,10px,0)!important;transition-duration:.32s!important}
  .mainNav{box-shadow:none!important;border-bottom-width:2px!important}.navInner{min-height:56px!important}.navInner a{min-height:38px!important;padding:0 12px!important;font-size:10px!important}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tickerTrack,.floatingWhatsapp,.homeHero h1 em{animation:none!important}.motionReveal{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}.productCard,.productMedia img,.navInner a,.headerSearch,.headerIcon{transition:none!important}}
