:root{--paper:#f7f5ee;--green:#263f32;--muted:#6f746b;--line:#ddded3;--sand:#e9e4d7;--rust:#9e653e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--green);font-family:'Roboto',Arial,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.topline{text-align:center;background:var(--green);color:#e7e9dc;padding:11px;font-size:10px;letter-spacing:3px}.header{display:flex;justify-content:space-between;align-items:center;padding-block:26px}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:1.5px}.brand small{display:block;font-weight:500;font-size:10px;letter-spacing:5px;margin-top:5px}.brand-mark{font-size:40px;line-height:1}.header nav{display:flex;align-items:center;gap:35px;font-size:13px}.header-contact{border:1px solid var(--line);padding:12px 19px;border-radius:3px}.header-contact span{margin-left:18px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding-top:24px;padding-bottom:64px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.7;margin:0 0 20px}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--rust);border-radius:50%;margin-right:8px}h1,h2,h3{font-family:'Roboto',Arial,sans-serif;font-weight:500}h1{font-size:clamp(40px,4.4vw,64px);line-height:1.13;letter-spacing:-2px;margin:0 0 25px}h1 em{color:var(--rust);font-weight:500}h2{font-size:38px;line-height:1.2;letter-spacing:-.8px;margin:0}.intro{color:var(--muted);line-height:1.9;max-width:415px;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:17px 24px;border-radius:3px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:var(--paper)}.hero-note{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-top:25px}.hero-note span{font-size:21px;color:var(--rust)}.hero-photo{height:480px;position:relative;border-radius:140px 5px 5px 5px;background:#d0cbbc}.hero-photo>img{height:100%;width:100%;object-fit:cover;border-radius:inherit;object-position:50% 48%}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(21,35,24,.65));border-radius:inherit}.photo-caption{position:absolute;bottom:30px;left:30px;color:white;z-index:1}.photo-caption span{font-size:9px;letter-spacing:3px}.photo-caption strong{display:block;font-family:'Roboto',Arial,sans-serif;font-size:25px;font-weight:500;margin-top:9px}.round-stamp{position:absolute;right:-22px;top:25px;border-radius:50%;background:var(--paper);border:1px solid var(--green);outline:7px solid var(--paper);height:96px;width:96px;text-align:center;padding-top:17px;font-size:7px;letter-spacing:1px;z-index:2;transform:rotate(10deg)}.round-stamp span{font-size:30px;line-height:1.3}.values-strip{border-block:1px solid var(--line);background:#eeeee3;padding:20px 0;font-size:11px;letter-spacing:.4px}.values-strip .container{display:flex;justify-content:space-between;align-items:center}.values-strip b{font-size:14px;color:var(--rust)}.catalog{padding-block:70px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.catalog-tools{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.filters{display:flex;gap:8px}.filter{padding:10px 21px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--green);cursor:pointer;font-size:12px}.filter.active{background:var(--green);border-color:var(--green);color:white}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:0 12px;border-radius:3px}.search span{font-size:24px}.search input{background:transparent;border:0;padding:11px 0;max-width:190px;color:var(--green);font-size:12px}.catalog-notice{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 23px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.product-image{height:235px;display:flex;align-items:center;justify-content:center;background:#eae5db;border:1px solid #e3ded3;border-radius:4px;position:relative;overflow:hidden}.product:nth-child(2n) .product-image{background:#e5e8dc}.product:nth-child(3n) .product-image{background:#ece4dc}.product-image svg{width:75%;height:85%;filter:drop-shadow(0 13px 10px #3d231229);transition:transform .3s}.product:hover .product-image svg{transform:scale(1.05)}.illustration-label{position:absolute;bottom:12px;right:12px;font-size:8px;color:#777065;letter-spacing:1px;text-transform:uppercase}.product-category{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--rust);margin:20px 0 8px}.product h3{font-size:24px;margin:0 0 9px}.product-description{font-size:12px;color:var(--muted);line-height:1.7;min-height:40px;margin:0 0 18px}.product-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:12px;font-weight:600}.product-link:hover{color:var(--rust)}#empty{padding:30px;text-align:center}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center;padding-block:0 65px}.about-symbol{font-size:130px;display:grid;place-items:center;border:1px solid var(--line);background:var(--sand);min-height:280px;border-radius:5px;color:var(--green)}.about .eyebrow{margin-bottom:12px}.about p:last-child{color:var(--muted);line-height:1.9;font-size:13px;max-width:490px}.contact{background:var(--green);color:var(--paper);padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:4px}.contact .eyebrow{color:#bac8ae;margin-bottom:13px}.contact h2{font-size:33px}.contact p:last-child{font-size:12px;color:#c3cbbd;line-height:1.7}.button-light{background:var(--paper);color:var(--green);white-space:nowrap}footer{padding-block:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}.floating-whatsapp{position:fixed;right:25px;bottom:25px;width:54px;height:54px;display:grid;place-items:center;background:#287849;color:white;border-radius:50%;box-shadow:0 4px 20px #152b3033;z-index:5}.floating-whatsapp svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.5;fill:none}.floating-whatsapp:hover{background:#1d623b}@media(min-width:1500px){.hero{gap:95px;padding-block:40px 75px}}@media(max-width:900px){.container{width:calc(100% - 48px)}.hero{gap:30px}.hero-photo{height:420px}h1{font-size:43px}.round-stamp{right:-10px}.header nav{gap:20px}.product-grid{gap:24px 18px}.product-image{height:190px}.about{gap:35px}.contact{padding:36px 30px}.contact h2{font-size:28px}}@media(max-width:640px){.container{width:calc(100% - 36px)}.topline{font-size:8px;letter-spacing:2px}.header{padding-block:21px}.brand{font-size:10px;gap:7px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:4px}.brand-mark{font-size:34px}.header nav{gap:12px}.header nav>a:first-child{font-size:11px}.header-contact{font-size:10px;padding:10px}.header-contact span{margin-left:3px}.hero{grid-template-columns:1fr;gap:30px;padding-top:22px;padding-bottom:35px}.hero-copy{padding-top:5px}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:44px;letter-spacing:-1.5px}.intro{font-size:13px;max-width:100%}.hero-photo{height:355px;border-top-left-radius:95px;max-width:100%}.round-stamp{right:10px;top:20px}.hero-note{margin-top:18px}.values-strip{padding:15px 0}.values-strip .container{gap:12px;justify-content:center;flex-wrap:wrap;font-size:9px}.values-strip b:last-of-type{display:none}.values-strip span:last-child{display:none}.catalog{padding-block:42px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:12px}h2{font-size:32px}.catalog-tools{flex-wrap:wrap;gap:14px}.filter{padding:10px 18px}.search{width:100%}.search input{max-width:none;width:100%}.catalog-notice{font-size:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.product-image{height:155px}.product h3{font-size:21px}.product-description{font-size:11px;min-height:56px}.product-category{font-size:8px;letter-spacing:1px}.product-link{font-size:10px;gap:5px}.illustration-label{font-size:7px;right:7px;bottom:8px}.about{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.about-symbol{min-height:175px;font-size:100px}.about h2{font-size:30px}.contact{display:block;padding:30px 25px}.contact h2{font-size:28px}.contact .button{margin-top:14px}footer{flex-wrap:wrap;padding-bottom:95px}footer p{width:100%;margin:0;order:3}.floating-whatsapp{right:18px;bottom:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Cat�logo direto, sem se��es institucionais. */
.header{border-bottom:1px solid var(--line)}.catalog{padding-top:40px}footer{border-top:1px solid var(--line)}@media(max-width:640px){.catalog{padding-top:30px}}

.brand-logo{display:block;width:44px;height:auto;flex-shrink:0;object-fit:contain}@media(max-width:640px){.brand-logo{width:34px}}

/* Categorias e itens que chegam em breve. */
.catalog-tools{flex-wrap:wrap;align-items:center}.filters{flex-wrap:wrap}.coming-soon-badge{position:absolute;top:12px;left:12px;padding:7px 11px;background:var(--green);color:var(--paper);border-radius:3px;font-size:9px;font-weight:700;letter-spacing:1.4px}.product-unavailable{color:var(--muted);letter-spacing:1.4px;cursor:default}.product-unavailable:hover{color:var(--muted)}.coming-soon .product-image svg{opacity:.72}@media(max-width:640px){.filter{padding:10px 14px}}

/* Cards do catálogo. */
.product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fffdf8;
  border: 1px solid #ebeae3;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(38, 63, 50, .02);
  transition: box-shadow .2s, border-color .2s;
}
.product:hover,
.product:focus-within {
  border-color: #d4dbcf;
  box-shadow: 0 5px 16px rgba(38, 63, 50, .05);
}
.product-image {
  border: 0;
  border-bottom: 1px solid #eeede7;
  border-radius: 9px 9px 0 0;
}
.product-category { margin: 18px 18px 8px; }
.product h3 { margin: 0 18px 10px; }
.product-description {
  flex: 1;
  margin: 0 18px 20px;
}
.product-link {
  min-height: 46px;
  margin: auto 18px 18px;
  padding: 12px 14px;
  gap: 10px;
  border: 0;
  border-radius: 5px;
  background: var(--green);
  color: var(--paper);
  line-height: 1.5;
}
a.product-link:hover { background: #345441; color: var(--paper); }
.product-unavailable,
.product-unavailable:hover {
  justify-content: center;
  background: #eceee6;
  color: var(--muted);
}
@media (max-width: 640px) {
  .product-category { margin: 14px 12px 8px; }
  .product h3 { margin-inline: 12px; font-size: 20px; }
  .product-description { margin: 0 12px 16px; }
  .product-link { margin: auto 12px 12px; padding: 10px; gap: 6px; }
}
/* Cabeçalho verde em toda a largura. */
.header {
  width: 100%;
  margin-inline: 0;
  padding-inline: max(40px, calc((100% - 1180px) / 2));
  background: var(--green);
  color: var(--paper);
  border-bottom-color: rgba(255, 255, 255, .15);
}
.header .brand-logo { filter: brightness(0) invert(1); }
.header .header-contact { border-color: rgba(247, 245, 238, .45); }
.header .header-contact:hover { background: rgba(255, 255, 255, .08); }
.header a:focus-visible { outline-color: var(--paper); }
@media (max-width: 900px) { .header { padding-inline: 24px; } }
@media (max-width: 640px) { .header { padding-inline: 18px; } }
/* Hover e foco aplicados ao campo de busca inteiro. */
.search {
  transition: border-color .2s, box-shadow .2s;
}
.search:hover { border-color: #98a690; }
.search:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(38, 63, 50, .14);
}
.search input:focus,
.search input:focus-visible { outline: none; }
.search input::selection {
  background: #d4dfcb;
  color: var(--green);
}
/* Endereço e dados da empresa no rodapé. */
.site-footer { display: block; }
.footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.footer-details { color: var(--muted); font-size: 12px; line-height: 1.8; }
.footer-details address { font-style: normal; }
.footer-details p { margin: 6px 0 0; font-size: inherit; }
.footer-phone { font-size: 12px; color: var(--green); white-space: nowrap; }
.footer-phone:hover { text-decoration: underline; }
.site-footer .footer-copyright {
  margin: 26px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 640px) {
  .footer-main { flex-direction: column; align-items: flex-start; gap: 20px; }
  .footer-details { font-size: 11px; }
  .footer-details p { width: auto; }
}
/* Logo do WhatsApp nos contatos. */
.whatsapp-icon {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  filter: brightness(0) invert(1);
}
.header-contact,
.footer-phone { display: inline-flex; align-items: center; gap: 10px; }
.footer-phone .whatsapp-icon { filter: none; }
.floating-whatsapp .whatsapp-icon { width: 29px; height: 29px; }
@media (max-width: 640px) {
  .header-contact { gap: 6px; }
  .product-link .whatsapp-icon { width: 15px; height: 15px; }
}
/* Cabeçalho com menos altura. */
.header { padding-block: 10px; }
.header .brand-logo { width: 34px; }
.header .header-contact { padding: 8px 14px; }
@media (max-width: 640px) {
  .header { padding-block: 8px; }
  .header .brand-logo { width: 30px; }
  .header .header-contact { padding: 8px 10px; }
}
/* Rodapé verde e compacto. */
.site-footer {
  width: 100%;
  margin-inline: 0;
  padding: 22px max(40px, calc((100% - 1180px) / 2));
  background: var(--green);
  color: var(--paper);
  border-top-color: rgba(255, 255, 255, .15);
}
.site-footer .brand-logo { width: 34px; filter: brightness(0) invert(1); }
.site-footer .footer-main { gap: 22px; }
.site-footer .footer-details,
.site-footer .footer-details p,
.site-footer .footer-phone { color: var(--paper); }
.site-footer .footer-details { font-size: 11px; line-height: 1.6; }
.site-footer .footer-details p { margin-top: 4px; }
.site-footer .footer-phone .whatsapp-icon { filter: brightness(0) invert(1); }
.site-footer .footer-copyright {
  margin-top: 14px;
  padding-top: 12px;
  border-top-color: rgba(255, 255, 255, .2);
  color: #d5ded0;
}
.site-footer a:focus-visible { outline-color: var(--paper); }
@media (max-width: 900px) { .site-footer { padding-inline: 24px; } }
@media (max-width: 640px) {
  .site-footer { padding: 18px 18px 76px; }
  .site-footer .footer-main { gap: 14px; }
  .site-footer .brand-logo { width: 30px; }
  .site-footer .footer-copyright { margin-top: 12px; padding-top: 10px; }
}
/* Tipografia simples para os títulos do catálogo. */
h1,h2,h3{font-weight:600;letter-spacing:normal}

/* Ajustes de toque, leitura e largura para celular. */
.contact-label-mobile { display: none; }
.header .header-contact span { margin-left: 0; }
.search { min-width: 0; }
.search input { min-width: 0; }
@media (max-width: 900px) and (min-width: 641px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .container { width: calc(100% - 32px); }
  .header { padding-inline: 16px; gap: 12px; }
  .header nav { gap: 0; flex-shrink: 0; }
  .header .catalog-nav-link,
  .contact-label-desktop { display: none; }
  .contact-label-mobile { display: inline; }
  .header .header-contact { min-height: 44px; padding-inline: 10px; font-size: 12px; }
  .header .brand { min-width: 0; font-size: 10px; }
  .catalog { padding-block: 26px 32px; }
  .section-heading { margin-bottom: 18px; }
  .section-heading h2 { font-size: 28px; }
  .section-heading .eyebrow { font-size: 10px; }
  .section-heading > p { font-size: 13px; }
  .catalog-tools { gap: 12px; }
  .search { order: -1; width: 100%; min-height: 48px; padding-inline: 12px; }
  .search input { width: 100%; max-width: none; font-size: 16px; padding-block: 12px; }
  .filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 8px; }
  .filter { min-height: 44px; font-size: 13px; padding: 10px 12px; }
  .catalog-notice { font-size: 12px; line-height: 1.6; margin-bottom: 18px; }
  .product-grid { gap: 16px 12px; }
  .product-image { height: 160px; }
  .product h3 { font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
  .product-description { font-size: 12px; line-height: 1.6; }
  .product-category { font-size: 9px; }
  .product-link { min-height: 48px; font-size: 12px; }
  .coming-soon-badge { font-size: 9px; padding: 7px 9px; }
  .site-footer { width: 100%; padding-inline: 16px; }
  .site-footer .footer-details { font-size: 12px; }
  .site-footer .footer-phone { min-height: 44px; font-size: 13px; }
  .floating-whatsapp { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 359px) {
  .product-grid { grid-template-columns: minmax(0, 1fr); }
  .product-image { height: 205px; }
  .product-description { min-height: 0; }
  .product h3 { font-size: 21px; }
  .product-link { font-size: 13px; }
}
.product-image.has-photo{background:#b5b3b3}.product-image>img{display:block;width:100%;height:100%;object-fit:contain}

/* Fotos recortadas sem o fundo cinza da camiseta anterior. */
.product-image.has-photo{background:transparent}.product-image>img{padding:12px}

/* ?reas de fotos vazias e alinhamento dos contatos. */
.product:nth-child(n) .product-image { background: transparent; }
.header.container { width: 100%; }
.header nav > a.header-contact { display: inline-flex; flex-wrap: nowrap; white-space: nowrap; }
.floating-whatsapp[hidden] { display: none; }
@media (max-width: 640px) {
  .header.container { padding: 10px 16px; gap: 10px; }
  .header .brand { gap: 8px; font-size: 10px; letter-spacing: .8px; }
  .header .brand small { font-size: 8px; letter-spacing: 3px; }
  .header nav > a.header-contact { gap: 7px; font-size: 12px; padding: 8px 10px; }
  .header-contact .whatsapp-icon { width: 18px; height: 18px; }
  .site-footer.container { width: 100%; padding: 22px 16px calc(20px + env(safe-area-inset-bottom, 0px)); }
  .site-footer .footer-main { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
  .site-footer .brand { gap: 9px; font-size: 11px; }
  .site-footer .brand-logo { width: 34px; }
  .site-footer .footer-details { font-size: 12px; line-height: 1.7; }
  .site-footer .footer-details p { margin-top: 6px; }
  .site-footer .footer-phone { justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.3); border-radius: 6px; font-size: 13px; gap: 8px; }
  .site-footer .footer-copyright { width: 100%; margin: 16px 0 0; padding-top: 14px; text-align: center; font-size: 11px; line-height: 1.6; }
}
@media (max-width: 359px) {
  .header.container { padding-inline: 12px; gap: 8px; }
  .header .brand { font-size: 9px; gap: 6px; }
  .header .brand small { letter-spacing: 2px; }
  .header .brand-logo { width: 26px; }
}

/* Compact product buttons on mobile. */
.product-label-mobile { display: none; }
a.product-link { flex-wrap: nowrap; }
a.product-link .whatsapp-icon { flex-shrink: 0; }
@media (max-width: 640px) {
  .product-label-desktop { display: none; }
  .product-label-mobile { display: inline; white-space: nowrap; }
  a.product-link { min-height: 44px; padding: 10px 12px; gap: 8px; font-size: 12px; line-height: 1.4; }
  a.product-link .whatsapp-icon { width: 18px; height: 18px; }
}

/* Equal photo frames for knives and pocket knives. */
.product .product-image.catalog-photo { background: #eee9df; }
.product-image { flex-shrink: 0; min-height: 0; }
.product-image.catalog-photo > img { padding: 0; object-fit: cover; object-position: 50% 55%; }
@media (max-width: 640px) {
  .filters .filter:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Accessible full-photo popup. */
.photo-trigger { width: 100%; padding: 0; cursor: zoom-in; color: inherit; }
.photo-trigger:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
html.photo-modal-open { overflow: hidden; }
.photo-dialog { width: min(720px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 18px; border: 0; border-radius: 12px; background: var(--paper); color: var(--green); box-shadow: 0 20px 70px #0005; }
.photo-dialog[open] { display: flex; flex-direction: column; gap: 14px; }
.photo-dialog::backdrop { background: rgba(12, 24, 18, .8); }
.photo-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-shrink: 0; }
.photo-dialog-heading h2 { margin: 0; font-size: 21px; line-height: 1.3; }
.photo-dialog-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--green); font-size: 30px; cursor: pointer; }
.photo-dialog-close:hover { background: var(--sand); }
.photo-dialog-image { display: block; width: 100%; height: min(65vh, 650px); height: min(65dvh, 650px); min-height: 0; object-fit: contain; border-radius: 6px; }
.photo-dialog-contact { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 16px; flex-shrink: 0; border-radius: 6px; background: #287849; color: white; font-size: 14px; font-weight: 600; }
.photo-dialog-contact:hover { background: #1d623b; }
.photo-dialog-contact[hidden] { display: none; }
@media (max-width: 640px) {
  .photo-dialog { padding: 12px; }
  .photo-dialog-heading h2 { font-size: 18px; }
  .photo-dialog-image { height: 60vh; height: 60dvh; }
}
