:root {--green:#35b934; --ink:#111; --muted:#65706b; --line:#d9dddb; --page:#f0f1f1; --black:#050505}
* {box-sizing:border-box}
body.public-store {display:flex; flex-direction:column; min-height:100vh; margin:0; background:var(--page); color:var(--ink); font:14px Arial,Helvetica,sans-serif}
body.public-store a {color:inherit}
main {flex:0 0 auto; background:transparent}
.public-header {border-top:2px solid var(--green); background:#fff; color:#1d2935}
.public-navigation{display:flex;align-items:center;gap:0;min-height:42px;padding:0 max(14px,calc((100% - 1180px)/2));background:#172941;color:#fff;position:relative;z-index:20}.public-navigation>a,.public-navigation li>a{display:block;padding:12px 14px;color:inherit;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.public-navigation>a:hover,.public-navigation li>a:hover{background:#24496e}.public-navigation-level{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}.public-navigation-level li{position:relative;list-style:none}.public-navigation-level li>ul{display:none;position:absolute;left:0;top:100%;min-width:220px;margin:0;padding:7px 0;background:#fff;color:#172941;box-shadow:0 12px 28px #0003}.public-navigation-level li:hover>ul,.public-navigation-level li:focus-within>ul{display:block}.public-navigation-level li>ul li>ul{left:100%;top:0}.public-navigation-level li>ul a{padding:10px 14px;color:#172941}.public-navigation-level li>ul a:hover{background:#eff6f1;color:#197a32}
.public-header-inner {display:grid; grid-template-columns:220px minmax(300px,1fr) 150px 200px; grid-template-rows:49px 55px; gap:0 20px; align-items:center; max-width:1180px; min-height:104px; margin:auto; padding:0}
.public-utility-primary {grid-column:2 / 5; grid-row:1; display:flex; align-items:center; justify-content:flex-end; color:#1d2935}
.public-utility-primary>span {display:flex; align-items:center; min-height:24px; padding:0 16px; border-right:1px solid #d9dddb; font-size:11px; white-space:nowrap}
.public-utility-primary>span:last-child {border-right:0}
.public-utility-primary a {display:inline-flex; align-items:center; gap:5px; color:inherit; text-decoration:none}
.public-utility-icon {position:relative; display:inline-block; width:12px; height:12px; flex:0 0 12px; color:#1d2935}.public-utility-user {border-radius:50%; background:currentColor}.public-utility-user:before {content:""; position:absolute; top:2px; left:4px; width:4px; height:4px; border-radius:50%; background:#fff}.public-utility-user:after {content:""; position:absolute; bottom:2px; left:3px; width:6px; height:3px; border-radius:4px 4px 2px 2px; background:#fff}.public-utility-orders {border:1px solid currentColor; border-radius:1px}.public-utility-orders:before {content:""; position:absolute; top:-2px; left:3px; width:4px; height:3px; border:1px solid currentColor; border-bottom:0; border-radius:2px 2px 0 0}.public-utility-orders:after {content:""; position:absolute; top:4px; left:3px; width:4px; height:1px; background:currentColor; box-shadow:0 3px 0 currentColor}
.public-utility-primary b {font-size:12px; text-transform:none}
.public-utility-primary small {font-size:10px}
.public-brand {grid-row:1 / 3; color:#66cf59; text-decoration:none; font-size:20px; font-weight:900}
.public-brand img {display:block; max-width:190px; max-height:54px}
.public-search {grid-column:2; grid-row:2; display:flex; height:45px; overflow:hidden; border:1px solid #d4d4d4; border-radius:4px; background:#fff}
.public-search input {flex:1; min-width:0; border:0; padding:0 16px; outline:0; font:italic 13px Arial}
.public-search button {width:54px; border:0; background:#fff; color:#17232d; font-size:27px; cursor:pointer}
.public-budget {grid-column:3; grid-row:2; display:flex; align-items:center; gap:9px; color:#1d2935; text-decoration:none; white-space:nowrap}.public-budget-icon {font-size:26px; line-height:1}.public-budget b,.public-budget small {display:block}.public-budget b {font-size:12px; text-transform:uppercase}.public-budget small {font-size:11px}
.public-cart {display:grid; grid-template-columns:40px 1fr; grid-template-rows:1fr 1fr; align-self:center; height:45px; padding:0 10px 0 0; background:#f3f3f3; color:#1d2935; font-weight:800; text-decoration:none}
.public-cart-icon {position:relative;display:grid;grid-column:1;grid-row:1 / 3;place-items:center;align-self:stretch;background:#1976d2;color:transparent;font-size:0}.public-cart-icon:before {content:"";width:19px;height:12px;border:2px solid #fff;border-top:0;transform:skew(-9deg)}.public-cart-icon:after {content:"";position:absolute;bottom:8px;left:11px;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:10px 0 #fff}.public-cart b {grid-column:2; font-size:12px; text-transform:uppercase; padding-left:10px; align-self:end}.public-cart small {grid-column:2; padding-left:10px; font-size:11px; font-weight:normal; align-self:start}.public-cart i {display:none}.public-account {grid-column:4; grid-row:2; display:block; color:#1d2935; font-size:12px}.public-account>span {display:none}.public-account>span a {color:#168a42; text-decoration:none}
.public-main-banner {position:relative; width:min(1920px,100%); height:auto; margin:0 auto; overflow:hidden; background:#fff}
.public-main-banner-slide {display:none; width:100%; height:auto}
.public-main-banner-slide[aria-hidden=false] {display:block}
.public-main-banner-slide[hidden] {display:none}
.public-main-banner img {display:block; width:100%; height:auto; max-width:100%; object-fit:contain; background:#fff}
.public-carousel-prev,.public-carousel-next {position:absolute; z-index:2; top:50%; width:42px; height:62px; transform:translateY(-50%); border:0; background:#0006; color:#fff; font-size:39px; cursor:pointer}
.public-carousel-prev {left:0}
.public-carousel-next {right:0}
.public-carousel-dots {position:absolute; z-index:2; bottom:12px; left:50%; display:flex; gap:7px; transform:translateX(-50%)}
.public-carousel-dots button {width:10px; height:10px; padding:0; border:1px solid #fff; border-radius:50%; background:#ffffff80}
.public-carousel-dots button[aria-pressed=true] {background:#fff}
.public-store-shell {display:grid; grid-template-columns:265px minmax(0,1fr); gap:36px; max-width:1180px; margin:26px auto 0}
.public-side {align-self:start; background:#fff}
.public-side h2 {margin:0; padding:14px; background:#69c75e; color:#fff; font-size:13px; text-align:center; text-transform:uppercase}
.public-side nav {display:grid}
.public-side nav a {display:flex;align-items:center;gap:10px;padding:10px 13px; border-bottom:1px solid var(--line); font-size:13px; text-decoration:none}
.public-side .public-category-tree,.public-side .public-category-tree ul{display:grid;margin:0;padding:0;list-style:none}.public-side .public-category-tree>li>ul{padding-left:16px;background:#f9fbf9}.public-side .public-category-tree>li>ul a{padding-top:8px;padding-bottom:8px;font-size:12px}.public-side .public-category-tree>li>ul>li>ul{padding-left:13px;background:#f4f8f4}.public-side .public-category-tree>li>ul>li>ul a{font-size:11px}
.public-category-arrow{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);color:#172941;transition:transform .16s ease,color .16s ease}
.public-side nav a:hover .public-category-arrow{transform:translateX(2px) rotate(-45deg);color:#269a2a}
.public-side nav a:hover {background:#f5faf4; color:#269a2a}
.public-side>p {padding:0 13px; color:var(--muted)}
.public-side-promo {display:grid; gap:12px; min-height:185px; margin-top:15px; padding:23px 17px; background:#090a09; color:#fff; text-align:center}
.public-side-promo strong {font-size:22px; line-height:1.05; text-transform:uppercase}
.public-side-promo em,.public-services em,.public-news em,.public-flow em,.public-testimonials em {color:var(--green); font-style:normal}
.public-side-promo span {color:#d3dbd5; font-size:12px; line-height:1.4}
.public-side-banner {display:block; margin-top:15px; background:#fff; text-decoration:none}
.public-side-banner img {display:block; width:100%; height:auto; max-width:100%; object-fit:contain; background:#fff}
.public-main-column {min-width:0}
.public-services {text-align:center}
.public-services>h2,.public-news>h2 {margin:0; font-size:25px; text-transform:uppercase}
.public-services>p {margin:2px 0 16px; font-size:12px}
.public-services>div {display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px}
.public-services article {position:relative; min-height:294px; padding:0 15px 15px; border-radius:8px; background:#fff; box-shadow:0 2px 5px #0002; text-align:left}
.public-services article figure {display:grid; place-items:center; height:145px; margin:0 -15px 14px; border-radius:8px 8px 0 0; background:linear-gradient(145deg,#cbd0d0,#f2f3f3); color:#77817d; font-size:10px}
.public-services article figure img {display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover}
.public-services article>span {position:relative; display:grid; place-items:center; width:42px; height:42px; margin:-35px 0 14px; border-radius:50%; background:#62c94d; color:#fff; font-size:21px}
.public-services article>.public-service-icon {background:#1976d2; color:#fff}.public-services .public-service-icon .store-icon {width:22px;height:22px}
.public-services h3 {margin:0 0 10px; font-size:12px; text-transform:uppercase}
.public-services article p {font-size:11px; line-height:1.35}
.public-services article a {color:#1976d2; font-size:11px; font-weight:800; text-decoration:none}
.public-news {margin:25px 0; text-align:center}
.public-news-grid {display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px}
.public-news-grid a {display:grid; align-content:end; min-height:210px; padding:25px; border-radius:5px; background:linear-gradient(120deg,#101210,#2a2e2b); color:#fff; text-align:left; text-decoration:none}
.public-news-grid a:nth-child(2) {background:linear-gradient(120deg,#151817,#343936)}
.public-news-grid a.has-image {padding:0; background:#151715}
.public-news-grid img {width:100%; height:100%; object-fit:contain; background:#fff}
.public-news-grid strong {font-size:25px; text-transform:uppercase}
.public-news-grid span {margin-top:7px; color:#aeb9b2; font-size:12px}
.public-news-grid a:not(.has-image):after {content:'Banner promocional'; margin-top:10px; color:#61c94e; font-size:11px; font-weight:800}
.public-content,.public-best-sellers,.public-launches {width:100%; padding:0 0 35px}
.public-main-column .public-section-head {margin-top:25px}
.public-section-head {display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; padding-bottom:8px; border-bottom:2px solid #cfd3d1}
.public-section-head span {font-size:20px; font-weight:800}
.public-section-head h1 {display:none}
.public-section-head>a {color:#2d9f33; font-size:12px; font-weight:800; text-decoration:none}
.public-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.public-card {position:relative; overflow:hidden; border:1px solid #d8dcda; border-top:0; border-radius:2px; background:#fff}
.public-card:before {content:""; display:block; height:3px; background:linear-gradient(90deg,#171717 0 25%,#fcf64c 25% 50%,#f15072 50% 75%,#35bfee 75%)}
.public-image {display:grid; place-items:center; height:160px; margin:8px 8px 0; background:#f5f6f5; color:#a8b0ab; font-size:28px; font-weight:900; text-decoration:none}
.public-image img {width:100%; height:100%; object-fit:contain}
.public-card>div {display:flex; flex-direction:column; min-height:226px; padding:11px}
.public-card small {color:#252a27; font-size:11px}
.public-card h2 {margin:8px 0; font-size:13px; line-height:1.3}
.public-card h2 a {color:#2bad34; text-decoration:none}
.public-card p {margin:0; color:#444; font-size:11px; line-height:1.5}
.public-card strong {margin-top:auto; padding-top:14px; color:#39b83e; font-size:19px}
.public-buy {display:none}
.public-filters {display:flex; gap:10px; margin-bottom:15px}
.public-filters input,.public-filters select {min-height:42px; border:1px solid var(--line); border-radius:4px; padding:0 12px; font:inherit}
.public-filters input {flex:1}
.public-filters button {padding:0 18px; border:0; border-radius:4px; background:var(--green); color:#fff; font-weight:800}
.public-count {color:var(--muted)}
.public-empty {display:grid; grid-template-columns:220px 260px; gap:48px; align-items:start; padding:45px 0}
.public-empty>div h2 {font-size:14px; text-transform:uppercase}
.public-skeleton-card {text-align:center}
.public-skeleton-art {display:grid; place-items:center; width:180px; height:130px; margin:auto; background:#f2f3f2; color:#d4d8d7; font-size:32px; font-weight:900}
.public-skeleton-card h3 {color:var(--green); font-size:14px; text-transform:uppercase}
.public-skeleton-card p {max-width:230px; margin:24px auto 12px; line-height:1.45}
.public-skeleton-card small {display:block; font-style:italic}
.public-skeleton-card strong {display:block; margin:18px 0; color:var(--green); font-size:23px}
.public-skeleton-card a {display:block; padding:10px; border:1px solid var(--green); border-radius:4px; color:var(--green); font-weight:800; text-decoration:none; text-transform:uppercase}
.public-flow {padding:40px 20px 32px; background:#ededed; text-align:center}
.public-flow h2 {margin:0 0 24px; font-size:20px; text-transform:uppercase}
.public-flow>div {display:grid; grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr; align-items:center; max-width:1280px; margin:auto}
.public-flow article {display:grid; justify-items:center; gap:8px}
.public-flow article span {display:flex;align-items:center;justify-content:center;gap:10px;line-height:1}.public-flow .flow-icon{display:block!important;width:44px!important;height:44px!important;min-width:44px!important;fill:none!important;stroke:#000!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:1!important;visibility:visible!important}
.public-flow article span b {display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#42ad35; color:#fff; font-size:14px}
.public-flow article strong {color:#42ad35; font-size:12px; text-transform:uppercase}
.public-flow article p {max-width:180px; margin:0; font-size:11px; font-weight:700; line-height:1.35}
.public-flow>div>i {color:#8d9591; font-size:30px; font-style:normal}
.public-testimonials {padding:38px max(20px,calc((100vw - 1180px)/2)); background:#ededed}
.public-testimonials h2 {margin:0 0 18px; text-align:center; font-size:20px; text-transform:uppercase}
.public-testimonials>div {display:grid; grid-template-columns:repeat(3,1fr); gap:25px}
.public-testimonials article {min-height:130px; padding:15px; border-radius:9px; background:#fff}
.public-testimonials article>strong {color:#52bc42; letter-spacing:2px}
.public-testimonials article>p {min-height:42px; font-size:11px; font-weight:700; line-height:1.35}
.public-testimonials article footer {display:grid!important; visibility:visible!important; opacity:1!important; gap:1px; padding-left:38px; background:linear-gradient(90deg,#70c75c 0 28px,transparent 28px); font-size:11px}
.public-testimonials article footer small {color:#5b6660}
.public-footer {display:block!important; visibility:visible!important; opacity:1!important; clear:both; margin-top:auto; padding:58px max(20px,calc((100vw - 1180px)/2)) 28px; border-top:4px solid var(--green); background:#050505!important; color:#fff}
.public-footer-layout{display:grid;grid-template-columns:1.2fr 1.15fr 1fr 1.1fr;gap:46px 34px;align-items:start}
.public-footer section {display:grid; align-content:start; gap:8px}
.public-footer h2 {margin:0 0 12px; font-size:14px; text-transform:uppercase;color:#fff!important}
.public-footer p,.public-footer a {margin:0; color:#fff; font-size:12px; line-height:1.55; text-decoration:none}
.public-footer a:hover{text-decoration:underline}
.public-footer-contact-item{position:relative;padding-left:27px;margin:0 0 10px}.public-footer-contact-item:before{position:absolute;left:0;top:1px;color:#fff;font-size:16px}.public-footer-contact-item.address:before{content:'⌖'}.public-footer-contact-item.phone:before{content:'☎'}.public-footer-contact-item.email:before{content:'✉'}.public-footer-contact-item.hours:before{content:'◷'}.public-footer-contact-item b{display:block;margin-bottom:3px;font-size:11px;text-transform:uppercase}
.public-footer-technical p{max-width:300px;line-height:1.8}.public-footer-links{display:grid;gap:6px}.public-footer-links a:before{content:'› ';font-weight:800}.public-footer-links.two-columns{grid-template-columns:1fr 1fr;column-gap:24px}
.public-social-empty,.public-logo-slots {display:flex; flex-wrap:wrap; gap:18px}
.public-social-empty>span {display:grid; place-items:center; width:100%; min-height:32px; border:1px dashed #68726c; color:#b8c0c3; font-size:9px; text-transform:uppercase}
.public-social-empty .public-social-link{display:grid;grid-template-rows:34px auto;place-items:center;width:48px;min-height:54px;padding:0;border:0;text-align:center}.public-social-empty .public-social-link img{display:block;width:28px;height:28px;object-fit:contain}.public-social-empty .public-social-link span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #fff;border-radius:7px;color:#fff;font-size:0}.public-social-empty .public-social-link span:before{content:'▶';font-size:14px}.public-social-empty .public-social-link small{color:#fff;font-size:9px;text-transform:uppercase;white-space:nowrap}
.public-secure-purchase{display:grid;gap:2px;margin-top:16px;padding:10px;border:1px dashed #fff;border-radius:5px;text-align:center}.public-secure-purchase strong{text-transform:uppercase;font-size:12px}.public-secure-purchase small{font-size:10px}.public-security-marks{display:flex;gap:12px;align-items:stretch}.public-security-marks span{display:grid;place-items:center;min-width:92px;min-height:58px;padding:6px;border-radius:3px;background:#fff;text-align:center;line-height:1.05;font-weight:800}.public-security-letsencrypt{color:#12518d;font-size:17px}.public-security-safe{color:#66707b;font-size:12px}
.public-logo-slots i {display:block; width:56px; height:29px; border:1px dashed #68726c; border-radius:3px}
.public-payment-section{min-width:0}.public-payment-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.public-payment-logos figure{display:grid;gap:4px;min-width:0;margin:0;padding:7px;border:1px solid #3a4240;border-radius:4px;background:#fff}.public-payment-logos img{display:block;width:100%;height:28px;object-fit:contain}.public-payment-logos figcaption{color:#7c8782;font-size:9px;line-height:1.25;text-align:center}.public-payment-methods{display:flex;flex-wrap:wrap;gap:7px}.public-payment-methods .footer-payment-mark{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:4px 7px;box-sizing:border-box;border:1px solid #47504c;border-radius:4px;background:#fff;color:#172941;font-size:10px;line-height:1.2}.public-payment-methods .footer-payment-logo{padding:4px 8px}.public-payment-methods .footer-payment-logo img{display:block;width:38px;height:18px;object-fit:contain}.public-payment-methods .footer-payment-elo img{width:40px}
.public-delivery-methods{display:flex;flex-wrap:wrap;gap:7px}.public-delivery-methods .footer-delivery-mark{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:4px 7px;box-sizing:border-box;border:1px solid #47504c;border-radius:4px;background:#fff;color:#172941;font-size:10px;line-height:1.2}.public-delivery-methods .footer-delivery-logo{padding:4px 8px}.public-delivery-methods .footer-delivery-logo img{display:block;width:42px;height:18px;object-fit:contain}.public-delivery-methods .footer-delivery-logo img[src$="retirada.svg"]{width:22px;height:22px}
.public-copyright {grid-column:1/-1; margin-top:25px; color:#b8c0c3; text-align:center}
@media(max-width:900px) {.public-store-shell {grid-template-columns:1fr; margin:18px 14px}
.public-side {display:none}
.public-services>div {grid-template-columns:repeat(3,1fr)}
.public-grid {grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px) {.public-header-inner {grid-template-columns:1fr auto; grid-template-rows:auto auto auto auto; padding:10px 14px}
.public-brand {grid-row:1}
 .public-utility-primary {grid-column:1 / -1;grid-row:4;display:flex;min-height:34px;overflow-x:auto;background:#f7f9f8;color:#1d2935;border-top:1px solid #e2e7e4}
 .public-utility-primary>span {min-width:max-content;flex:1;padding:6px 10px;border-right:1px solid #d9dddb}
.public-account {grid-column:2; grid-row:1; display:block}
.public-account>span {display:none}
.public-account .public-cart {display:grid}
.public-search {grid-column:1 / -1; grid-row:2}
.public-budget {grid-column:1 / -1;grid-row:3;justify-content:center;min-height:38px}
.public-main-banner {width:100%; height:auto}
.public-footer-layout {grid-template-columns:1fr 1fr}
.public-flow>div {grid-template-columns:1fr; gap:18px}
.public-flow>div>i {display:none}
.public-flow article p {font-size:10px}
.public-testimonials>div {grid-template-columns:1fr}
}
@media(max-width:640px) {.public-services>div {grid-template-columns:repeat(2,1fr)}
.public-services article {min-height:250px}
.public-news-grid {grid-template-columns:1fr}
.public-news-grid a {min-height:170px}
.public-grid {grid-template-columns:repeat(2,1fr)}
.public-empty {grid-template-columns:1fr; gap:25px}
}
@media(max-width:480px) {.public-grid,.public-footer-layout {grid-template-columns:1fr}
.public-cart {font-size:0}
.public-cart span {margin:0}
}

/* Carrinho vetorial, de alta definição, mantendo o link e a contagem existentes. */
.public-cart-icon {background:linear-gradient(135deg,#176fd3,#0b4ca4);color:#fff;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.public-cart-icon:before {content:"";width:23px;height:23px;border:0;transform:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.15 10.1a2 2 0 0 0 1.96 1.58h8.85a2 2 0 0 0 1.93-1.47L21 8H6.05'/%3E%3Ccircle cx='9.5' cy='20' r='1.25'/%3E%3Ccircle cx='17.5' cy='20' r='1.25'/%3E%3C/svg%3E")}
.public-cart-icon:after {content:none}
.public-cart:hover .public-cart-icon {background:linear-gradient(135deg,#2485ec,#125fbe)}

/* Estrutura definitiva das vitrines: nenhum texto pode invadir a imagem. */
.public-grid .public-card{display:flex!important;flex-direction:column!important;height:100%;min-width:0;overflow:hidden}
.public-grid .public-card .public-image{position:relative!important;display:grid!important;flex:0 0 220px!important;width:auto!important;height:220px!important;min-height:0!important;margin:8px 8px 0!important;overflow:hidden;isolation:isolate}
/* A foto ocupa o espaço disponível sem perder nenhuma parte da arte enviada. */
.public-grid .public-card .public-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center}
.public-grid .public-card>div{position:relative!important;inset:auto!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:162px!important;height:auto!important;margin:0!important;padding:11px!important;transform:none!important;background:#fff!important;z-index:1}
.public-grid .public-card small,.public-grid .public-card h2,.public-grid .public-card p,.public-grid .public-card strong{position:static!important;inset:auto!important;transform:none!important;float:none!important;clear:both!important}
.public-grid .public-card h2{min-height:34px;margin:7px 0!important}.public-grid .public-card p{min-height:32px}.public-grid .public-card strong{display:block!important;margin-top:auto!important;padding-top:12px!important;white-space:normal!important}
@media(max-width:640px){.public-grid .public-card .public-image{flex-basis:180px!important;height:180px!important}.public-grid .public-card>div{min-height:152px!important}}

/* Proteção final: a arte do banner define a própria altura e nunca é ampliada para preencher uma caixa fixa. */
.public-main-banner,.public-main-banner-slide{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
.public-main-banner-slide img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important}

/* Posições comerciais do painel de Banners, sempre proporcionais à arte enviada. */
.public-categories-banner{display:block;width:min(1170px,calc(100% - 28px));margin:18px auto 0;background:#fff}
.public-categories-banner img,.public-showcase-banner img,.public-mini-banners img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:#fff}
.public-extra-banners{width:100%;margin:24px 0 0}
.public-showcase-banner a{display:block;background:#fff}
.public-mini-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.public-mini-banners a,.public-mini-banners>span{display:block;min-width:0;aspect-ratio:266 / 180;background:#fff}
.public-mini-banners>span{background:transparent}
@media(max-width:640px){.public-mini-banners{grid-template-columns:1fr}.public-mini-banners>span{display:none}}

/* Cada cartão de serviço mantém a foto isolada do conteúdo. */
.public-services article{display:flex!important;flex-direction:column!important;overflow:hidden!important}
.public-services article figure{position:relative!important;flex:0 0 145px!important;height:145px!important;min-height:145px!important;overflow:hidden!important}
.public-services article figure img{position:static!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.public-services article>h3,.public-services article>p,.public-services article>a{position:static!important;inset:auto!important;z-index:auto!important;transform:none!important;clear:both!important}
.public-services article>a{margin-top:auto!important;padding-top:8px!important}

/* Grade única do rodapé público, compartilhada pela Home e pelos produtos. */
.public-footer{min-height:510px;padding-top:34px!important}
.public-footer-layout{grid-template-columns:1.05fr 1.7fr .72fr 1fr!important;grid-template-rows:auto auto auto;gap:30px 48px!important}
.public-footer-contact{grid-column:1;grid-row:1 / 3}
.public-footer-technical{grid-column:2;grid-row:1}
.public-footer-institutional{grid-column:2;grid-row:2}
.public-footer-community{grid-column:3;grid-row:1 / 3}
.public-footer-security{grid-column:4;grid-row:1}
.public-payment-section{grid-column:1;grid-row:3}
.public-delivery-section{grid-column:2;grid-row:3}
.public-footer h2{margin-bottom:10px}.public-footer-technical p{max-width:325px}.public-footer-community h2:not(:first-child){margin-top:16px}.public-secure-purchase{margin-top:16px}.public-footer .public-payment-methods,.public-footer .public-delivery-methods{gap:8px}
@media(max-width:900px){.public-footer{min-height:0}.public-footer-layout{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;gap:30px!important}.public-footer-contact,.public-footer-technical,.public-footer-institutional,.public-footer-community,.public-footer-security,.public-payment-section,.public-delivery-section{grid-column:auto;grid-row:auto}}
@media(max-width:540px){.public-footer-layout{grid-template-columns:1fr!important}.public-footer-contact,.public-footer-technical,.public-footer-institutional,.public-footer-community,.public-footer-security,.public-payment-section,.public-delivery-section{grid-column:auto}}

/* Proporções compactas para o rodapé comercial. */
.public-footer{min-height:0!important;padding-top:28px!important;padding-bottom:22px!important}
.public-footer-layout{grid-template-columns:1.05fr 1.55fr .82fr 1fr!important;grid-template-rows:auto auto auto;gap:18px 36px!important}
.public-footer-contact{grid-column:1;grid-row:1 / 3}.public-footer-technical{grid-column:2;grid-row:1}.public-footer-institutional{grid-column:2;grid-row:2}
.public-footer-community{grid-column:3 / 5!important;grid-row:1 / 3!important;display:grid!important;grid-template-columns:.82fr 1fr;grid-template-rows:auto auto auto auto;align-content:start;gap:7px 28px!important}
.public-footer-community>h2:first-child{grid-column:1;grid-row:1}.public-footer-community>.public-social-empty{grid-column:1;grid-row:2}.public-footer-community>h2:nth-of-type(2){grid-column:1;grid-row:3;margin-top:9px!important}.public-footer-community>.public-footer-links{grid-column:1;grid-row:4}.public-footer-community>.public-secure-purchase{grid-column:2;grid-row:1 / 5;align-self:center;margin:0!important;min-width:230px;padding:10px 12px!important}
.public-payment-section{grid-column:1;grid-row:3}.public-delivery-section{grid-column:2;grid-row:3}.public-footer-security{grid-column:3;grid-row:3}
.public-footer h2{margin-bottom:7px!important;font-size:13px!important}.public-footer p,.public-footer a{font-size:11px!important;line-height:1.42!important}.public-footer-contact-item{margin-bottom:7px!important}.public-footer-contact-item b{font-size:10px!important}.public-footer-technical p{max-width:335px;line-height:1.55!important}.public-footer-links{gap:5px!important}.public-footer .public-security-marks{gap:8px}.public-footer .public-security-marks span{min-width:86px;min-height:54px}.public-footer .public-payment-methods,.public-footer .public-delivery-methods{gap:6px}.public-copyright{margin-top:18px!important;font-size:10px}
/* Marcas de pagamento alinhadas em uma única faixa, com tamanhos iguais. */
.public-footer .public-payment-unified{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;width:100%}
.public-footer .public-payment-unified .footer-payment-mark{display:flex;align-items:center;justify-content:center;min-width:0!important;width:auto!important;height:38px;padding:5px!important;box-sizing:border-box;border:1px solid #47504c;border-radius:4px;background:#fff;color:#172941;font-size:9px;line-height:1}
.public-footer .public-payment-unified .footer-payment-mark img{display:block;width:100%!important;height:100%!important;max-width:42px;object-fit:contain}
/* Redes sociais: campos em texto no Admin e ícones reconhecíveis na loja. */
.public-footer .public-social-empty .public-social-link{transition:transform .18s ease,filter .18s ease}
.public-footer .public-social-empty .public-social-link:hover{transform:translateY(-3px);filter:brightness(1.15)}
.public-footer .public-social-empty .public-social-link[aria-label="LinkedIn"] span,.public-footer .public-social-empty .public-social-link[aria-label="YouTube"] span,.public-footer .public-social-empty .public-social-link[aria-label="X / Twitter"] span,.public-footer .public-social-empty .public-social-link[aria-label="WhatsApp"] span{border:0!important;border-radius:7px!important;font-size:0!important}
.public-footer .public-social-empty .public-social-link[aria-label="LinkedIn"] span{background:#0a66c2!important}.public-footer .public-social-empty .public-social-link[aria-label="LinkedIn"] span:before{content:"in"!important;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;font-weight:800}
.public-footer .public-social-empty .public-social-link[aria-label="YouTube"] span{background:#f00!important}.public-footer .public-social-empty .public-social-link[aria-label="YouTube"] span:before{content:"▶"!important;font-size:14px!important}
.public-footer .public-social-empty .public-social-link[aria-label="X / Twitter"] span{background:#111!important}.public-footer .public-social-empty .public-social-link[aria-label="X / Twitter"] span:before{content:"𝕏"!important;font-size:17px!important}
.public-footer .public-social-empty .public-social-link[aria-label="WhatsApp"] span{border-radius:50%!important;background:#25d366!important}.public-footer .public-social-empty .public-social-link[aria-label="WhatsApp"] span:before{content:"☎"!important;font-size:16px!important;font-weight:800}
@media(max-width:900px){.public-footer-layout{grid-template-columns:1fr 1fr!important;gap:26px!important}.public-footer-community{grid-column:auto!important;grid-row:auto!important;display:grid!important;grid-template-columns:1fr!important}.public-footer-community>*{grid-column:auto!important;grid-row:auto!important}.public-footer-community>.public-secure-purchase{min-width:0;margin-top:10px!important}.public-footer-contact,.public-footer-technical,.public-footer-institutional,.public-footer-community,.public-footer-security,.public-payment-section,.public-delivery-section{grid-column:auto;grid-row:auto}}
