@font-face { font-family: Lato; src: url(aralvo-lato-400.woff2) format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Lato; src: url(aralvo-lato-700.woff2) format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: Poppins; src: url(aralvo-poppins-500.woff2) format('woff2'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Poppins; src: url(aralvo-poppins-600.woff2) format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: 'Alvo Store Icons'; src: url(aralvo-store-icons.woff2) format('woff2'); font-display: block; }

.store-icon { display: inline-block; font: 400 20px/1 'Alvo Store Icons', sans-serif; }
.icon-search::before { content: '\f130'; }
.icon-bag::before { content: '\f126'; }
.icon-menu::before { content: '\f15a'; }
.icon-shop::before { content: '\f146'; }
.icon-account::before { content: '\f124'; }
.icon-phone::before { content: '\260e'; font-family: sans-serif; }
.mobile-store-nav { display: none; }

.layout-storefront {
  --ink: #242424;
  --muted: #767676;
  --blue: #00a9e9;
  --aqua: #00b0ff;
  --border: #e4e4e4;
  --surface: #f7f7f7;
  --store-green: #83b735;
  font: 400 15px/1.6 Lato, Arial, sans-serif;
  color: var(--muted);
}
.layout-storefront .wrap { width: min(1152px, 100% - 30px); }
.layout-storefront .wrap.narrow { width: min(740px, 100% - 30px); }
.layout-storefront :is(h1,h2,h3) { font-family: Poppins, Arial, sans-serif; font-weight: 600; color: var(--ink); letter-spacing: normal; }
.layout-storefront h1 { font-size: clamp(32px, 5vw, 44px); }
.layout-storefront h2 { font-size: 24px; }
.layout-storefront h3 { font-size: 20px; }
.layout-storefront a { text-underline-offset: 3px; }
.layout-storefront a:hover { color: #0689b9; }
.layout-storefront .button { min-height: 42px; padding: 9px 20px; border-radius: 0; background: var(--store-green); color: white !important; font: 700 13px/1.25 Lato, Arial, sans-serif; text-transform: uppercase; }
.layout-storefront .button:hover { background: #72a52c; }
.layout-storefront .button.secondary { background: #f2f2f2; color: var(--ink) !important; border-color: #eee; }
.layout-storefront :is(input,select,textarea) { border-radius: 0; border-color: var(--border); }
.layout-storefront .panel { border-radius: 0; box-shadow: none; }

.store-header { position: relative; z-index: 5; background: white; border-bottom: 1px solid var(--border); color: var(--ink); }
.store-header .header-inner { min-height: 105px; gap: 20px; }
.store-header .brand img { width: 150px; }
.store-header :is(a, summary) { color: #333; text-decoration: none; font-size: 13.5px; font-weight: 700; text-transform: uppercase; }
.store-header summary, .catalog-sort summary { list-style: none; cursor: pointer; }
.store-header summary::-webkit-details-marker, .catalog-sort summary::-webkit-details-marker { display: none; }
.store-header .store-desktop-menu { gap: 0; }
.store-desktop-menu > :is(a, details) { padding-inline: 10px; }
.store-desktop-menu > :is(a, details) + * { border-left: 1px solid #e9e9e9; }
.store-categories, .store-search { position: relative; }
.store-categories summary span { color: #aaa; }
.store-menu-categories, .store-search form { position: absolute; top: 100%; padding: 12px 16px; background: white; border: 1px solid #e9e9e9; box-shadow: 0 4px 12px #0001; }
.store-menu-categories { left: 0; min-width: 180px; }
.store-menu-categories a { display: block; padding-block: 6px; text-transform: none; }
.store-search form { right: 0; display: flex; gap: 8px; width: 290px; }
.store-header .header-actions { gap: 20px; }
.header-cart { display: inline-flex; align-items: center; gap: 9px; }
.cart-icon { position: relative; display: inline-flex; }
.cart-count { position: absolute; inset: -5px -7px auto auto; min-width: 15px; padding-inline: 2px; border-radius: 8px; color: white; background: #00b0ff; font-size: 9px; line-height: 15px; text-align: center; }
.store-mobile-menu { display: none; }

.institutional-header { background: #0e1b2b; font-family: 'IBM Plex Sans', system-ui, sans-serif; }
.institutional-header .wrap, .institutional-footer .wrap { width: min(1092px, 100% - 48px); }
.institutional-header .header-inner { min-height: 76px; }
.institutional-header .brand img { width: 100px; }
.institutional-header nav { gap: 24px; }
.institutional-header nav > a { font-size: 15px; font-weight: 400; }
.institutional-header nav .button { gap: 15px; min-height: 56px; padding: 10px 24px; border: 0; border-radius: 99px; background: #1ba6e8; box-shadow: 0 8px 22px #1ba6e84d; color: white !important; font-size: 14px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.institutional-header .button span { display: inline-grid; width: 28px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: #ffffff24; }
.institutional-whatsapp { position: fixed; right: 24px; bottom: 24px; z-index: 6; display: grid; width: 66px; aspect-ratio: 1; place-items: center; border: 2px solid #b4efc8; border-radius: 50%; background: #19c960; color: white; box-shadow: 0 7px 26px #20c96c66; text-decoration: none; }
.institutional-whatsapp:hover { color: white; background: #13ad50; }
.institutional-whatsapp .store-icon { font-size: 28px; }

.store-page-title { padding: 20px 0; background: white; }
.store-page-title h1, .store-page-heading { margin: 0; line-height: 1.2; }
.store-page-heading { font: 600 clamp(32px, 5vw, 44px)/1.2 Poppins, Arial, sans-serif; color: var(--ink); }
.store-crumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.store-page-title .store-crumbs { margin-top: 10px; }
.store-crumbs a { color: var(--muted); text-decoration: none; }
.store-crumbs strong { color: var(--ink); }
.store-back { margin-right: 10px; color: inherit; text-decoration: none; }
.store-listing { padding-block: 40px 60px; }
.store-cards { gap: 18px 20px; align-items: start; }
.blog-listing .store-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.store-cards .card { border: 0; border-radius: 0; }
.store-cards .card-media { position: relative; display: block; }
.store-cards .post-card { box-shadow: 0 0 5px #0002; }
.store-cards .post-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #fafafa; }
.store-cards .card-copy { text-align: center; }
.store-cards .post-card .card-copy { padding: 25px; }
.store-cards .post-card h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.4; font-weight: 500; }
.store-cards .card h2 a { color: #333; }
.store-cards .card h2 a:hover { color: #555; text-decoration: none; }
.store-cards .post-card p { margin: 0 0 9px; }
.store-cards .post-card .text-link { font-size: 13.5px; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.catalog-intro { margin-bottom: 26px; }
.catalog-intro p { margin: 0; }
.catalog-toolbar { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.catalog-sort { position: relative; min-width: 160px; }
.catalog-sort summary { padding-right: 23px; border-bottom: 2px solid var(--border); color: var(--ink); font-weight: 700; }
.catalog-sort summary::after { content: '⌄'; position: absolute; right: 4px; color: #999; }
.catalog-sort > div { position: absolute; z-index: 2; right: 0; top: 100%; min-width: 100%; padding: 8px; background: white; box-shadow: 0 2px 10px #0002; }
.catalog-sort a { display: block; color: var(--ink); text-decoration: none; }
.product-listing .store-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.store-cards .catalog-card { box-shadow: none; }
.store-cards .catalog-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; padding: 0; object-fit: contain; background: white; }
.store-cards .catalog-card .card-copy { padding: 6px 8px 14px; }
.store-cards .catalog-card h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 0 4px; font-size: 15px; line-height: 1.4; font-weight: 500; }
.store-cards .catalog-card .price { margin: 0; font-size: 15px; }
.layout-storefront .price { color: var(--aqua); font-weight: 700; }
.price del { color: #aaa; margin-right: 4px; font-size: .86em; font-weight: 400; }
.product-discount { position: absolute; z-index: 1; display: grid; place-items: center; inset: 12px auto auto 8px; width: 50px; aspect-ratio: 1; border-radius: 50%; color: white; background: var(--aqua); font-weight: 700; }

.store-article { padding-block: 40px 70px; }
.store-article > header { text-align: center; }
.store-article h1 { margin: 0 0 10px; color: #333; font-size: clamp(24px, 4vw, 28px); font-weight: 500; line-height: 1.4; }
.article-category { display: inline-block; padding: 2px 10px; color: white; background: var(--aqua); font-size: 12px; text-decoration: none; text-transform: uppercase; }
.article-category:hover { color: white !important; background: #0689b9; }
.article-byline { color: #999; }
.store-article .article-cover { width: 100%; margin: 15px 0 30px; border-radius: 0; }
.layout-storefront .prose { max-width: none; font-size: 15px; }
.layout-storefront .prose img { border-radius: 0; }
.layout-storefront .prose table { border-collapse: collapse; }
.layout-storefront .prose :is(h1,h2,h3,h4,h5,h6) { margin: 0 0 20px; line-height: 1.4; }
.layout-storefront .prose h3 { font-size: 22px; }
.layout-storefront .prose h4 { font-size: 18px; }
.layout-storefront .prose :is(p,ul,ol,table,blockquote,figure) { margin: 0 0 20px; }
.layout-storefront .prose :is(ul,ol) { padding-left: 17px; }
.layout-storefront .prose li { margin-bottom: 10px; }
.layout-storefront .prose li > :is(ul,ol) { margin: 10px 0 0; }
.layout-storefront .prose a { color: #333; text-decoration: none; }
.layout-storefront .prose a:hover { color: #242424; }
.layout-storefront .prose :is(b,strong) { font-weight: 600; }

.store-product { padding-block: 42px 38px; }
.store-product .product-grid { margin: 0; gap: 30px; }
.store-product .product-image { position: relative; padding: 0; border-radius: 0; background: white; }
.store-product .product-image img { display: block; width: 100%; max-height: none; aspect-ratio: 1; object-fit: contain; }
.store-product .product-discount { inset: 12px 14px auto auto; width: 55px; }
.product-summary .store-crumbs strong { flex-basis: 100%; }
.product-title-row { display: flex; align-items: flex-start; gap: 14px; margin-block: 18px 14px; }
.product-title-row h1 { margin: 0; color: #333; flex: 1; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; }
.product-brand { display: grid; place-items: center; min-height: 70px; padding: 10px; border: 1px solid #f2f2f2; color: #333; text-align: center; text-decoration: none; }
.product-summary .price { margin: 0 0 16px; font-size: 24px; }
.product-summary-text { margin-bottom: 20px; }
.product-form { margin-bottom: 20px; }
.product-option { display: flex; align-items: center; gap: 16px; color: var(--ink); margin-bottom: 14px; }
.product-option select { max-width: 260px; padding: 8px 10px; }
.product-add { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.store-quantity { display: flex; align-items: stretch; }
.store-quantity input { width: 34px; min-height: 42px; padding: 0; text-align: center; appearance: textfield; }
.store-quantity:has(button:not([hidden])) input::-webkit-inner-spin-button { appearance: none; }
.store-quantity button { display: grid; place-items: center; width: 24px; padding: 0; border: 1px solid var(--border); background: white; color: var(--muted); cursor: pointer; }
.store-quantity button:hover { background: #eee; }
.product-share { display: flex; gap: 8px; align-items: center; }
.product-share strong { color: #333; }
.product-share a { color: var(--muted); text-decoration: none; }
.product-share .store-icon { font-size: 14px; }
.product-details { padding-bottom: 65px; border-top: 1px solid var(--border); }
.product-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-bottom: 20px; }
.product-tabs a { padding-block: 26px 12px; border-top: 3px solid transparent; color: var(--muted); font-weight: 700; text-decoration: none; text-transform: uppercase; }
.product-tabs a[aria-current] { border-color: var(--aqua); color: #333; }
.product-details .prose { scroll-margin-top: 15px; }

.store-checkout-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; padding-block: 20px; color: var(--muted); font: 600 clamp(13px, 2vw, 22px)/1.35 Poppins, Arial, sans-serif; text-transform: uppercase; }
.store-checkout-steps [aria-current] { border-bottom: 2px solid var(--aqua); color: var(--ink); }
.store-cart { padding-block: 20px 40px; }
.store-cart-empty { padding-block: 14px 0; text-align: center; }
.store-cart-empty .store-icon { display: block; margin-bottom: 18px; color: #eaeaea; font-size: 120px; }
.store-cart-empty p { margin-bottom: 20px; }
.store-cart-empty h1 { margin-bottom: 22px; }
.store-cart-total { margin-top: 20px; text-align: right; }
.layout-storefront .cart-line h2 { font-size: 18px; }
.layout-storefront #main-content > .section.narrow { padding-block: 20px 46px; }

.store-footer { border-top: 1px solid var(--aqua); background: white; color: #222; padding-block: 54px 24px; }
.store-footer .wrap { width: min(1220px, 100% - 30px); }
.store-footer-columns { display: grid; grid-template-columns: 1.3fr 1fr 1fr .8fr; gap: 35px; }
.store-footer h2 { color: var(--blue); font-size: 20px; margin: 0 0 16px; }
.store-footer h2::after { content: ''; display: block; margin-top: 15px; width: 50px; border-bottom: 3px solid #e5e5e5; }
.store-footer p { line-height: 1.9; margin-bottom: 30px; }
.store-footer a { color: #222; text-decoration: none; }
.store-footer-columns > div > a { display: block; margin-bottom: 20px; }
.store-seals img { display: block; margin: 0 0 14px; }
.store-copyright, .institutional-copyright { padding-top: 20px; border-top: 1px solid #8883; }
.store-copyright { border-top: 0; color: #333; font-size: 10px; text-align: center; }
.store-copyright strong { font-weight: 700; }
.store-footer-columns > div > a.store-footer-social { display: inline-grid; place-items: center; width: 22px; height: 22px; margin: -10px 0 0; color: #00a9e9; }
.store-seals a.store-reclame { display: inline-grid; width: 156px; margin-top: 4px; padding: 12px 8px; border-radius: 6px; color: white; background: #0b5a37; text-align: center; line-height: 1.05; }
.store-reclame small { font-size: 10px; font-weight: 700; }
.store-reclame b { font: 800 italic 22px/1.1 Lato, Arial, sans-serif; letter-spacing: -.6px; }
.store-reclame b span { color: #a6e22e; }
.institutional-footer { background: #0e1b2b; color: #dce7f1; font-family: 'IBM Plex Sans', system-ui, sans-serif; }
.institutional-footer-columns { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 28px; padding-bottom: 24px; }
.institutional-footer h2 { color: white; font-size: 20px; letter-spacing: normal; }
.institutional-footer p { margin: 12px 0; }
.institutional-footer a { display: block; color: inherit; margin-bottom: 5px; text-decoration: none; }
.institutional-footer a:hover { color: #1ba6e8; }

@media (max-width: 1024px) {
  .blog-listing .store-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-listing .store-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .layout-institutional, .layout-storefront { padding-bottom: calc(55px + env(safe-area-inset-bottom)); }
  .store-header .header-inner { min-height: 60px; display: grid; grid-template-columns: 1fr auto 1fr; padding: 0; gap: 8px; }
  .store-header .brand img { width: 125px; }
  .store-mobile-menu { display: block; }
  .store-mobile-menu summary { display: flex; align-items: center; gap: 7px; }
  .store-mobile-menu > nav { position: absolute; left: 0; top: 100%; display: grid; width: min(290px, 90vw); padding: 12px 15px; background: white; box-shadow: 0 6px 15px #0002; }
  .store-mobile-menu .store-menu-categories { position: static; box-shadow: none; border: 0; }
  .store-header .store-desktop-menu, .store-search, .header-account, .header-cart-total { display: none; }
  .store-header .header-actions { justify-self: end; margin-right: 5px; }
  .mobile-store-nav { position: fixed; z-index: 6; inset: auto 0 0; display: flex; justify-content: space-around; padding: 6px 0 calc(6px + env(safe-area-inset-bottom)); background: white; border-top: 1px solid #e5e5e5; }
  .mobile-store-nav a { display: grid; min-width: 76px; justify-items: center; align-content: center; gap: 2px; color: #333; font: 700 12px/1.4 Lato, Arial, sans-serif; text-decoration: none; }
  .institutional-whatsapp { bottom: calc(58px + env(safe-area-inset-bottom)); z-index: 7; }
  .institutional-header .header-inner { display: block; padding-block: 10px; }
  .institutional-header .brand { margin-bottom: 6px; }
  .institutional-header nav { gap: 5px 24px; }
  .institutional-header nav .button { margin-top: 3px; }
  .blog-listing .store-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-listing .store-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .store-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .store-page-title { padding-block: 15px; }
  .store-page-title h1, .store-page-heading { font-size: 36px; }
  .store-listing, .store-article { padding-block: 40px; }
  .blog-listing .store-cards { grid-template-columns: 1fr; gap: 10px; }
  .product-listing .store-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .store-cards .post-card .card-copy { padding: 22px 16px 24px; }
  .store-product { padding-block: 14px 28px; }
  .store-product .product-grid { gap: 24px; }
  .product-title-row { flex-wrap: wrap; }
  .product-title-row h1 { flex-basis: 100%; }
  .product-brand { min-height: 0; }
  .product-tabs { justify-content: flex-start; gap: 14px; }
  .product-tabs a { padding-top: 14px; font-size: 12px; }
  .store-checkout-steps { gap: 6px; }
  .store-footer-columns, .institutional-footer-columns { grid-template-columns: 1fr; gap: 20px; }
}

/* Compartilhar e produtos relacionados, como no tema original. */
.share-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 30px; }
.share-links a { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: white; text-decoration: none; transition: opacity .2s; }
.share-links a:hover { color: white; opacity: .85; }
.share-facebook { background: #365493; } .share-x { background: #111; } .share-email { background: #f89a1e; }
.share-pinterest { background: #cb2027; } .share-linkedin { background: #0274b3; } .share-whatsapp { background: #1ebea5; } .share-telegram { background: #37aee2; }
.share-links--plain { gap: 4px; margin: 0; }
.share-links--plain strong { margin-right: 6px; color: #242424; font-weight: 600; font-size: 14px; }
.share-links--plain a { width: 26px; height: 26px; color: #777; background: none; }
.share-links--plain a:hover { color: #333; }
.share-links--plain svg { width: 14px; height: 14px; }
.related-products { padding-block: 40px 30px; border-top: 1px solid #e5e5e5; }
.related-products h2 { margin: 0 0 20px; color: #242424; font: 600 22px/1.4 Poppins, Arial, sans-serif; }
.related-products .store-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 768px) { .related-products .store-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .store-copyright { text-align: left; } }
