/* Raylis: interface programada, mobile-first, sem imagens de telas simuladas.
   Este módulo é carregado por último enquanto a folha anterior é consolidada. */
:root {
  --ui-forest: #064714;
  --ui-green: #185c20;
  --ui-leaf: #5d922c;
  --ui-lime: #d5e58d;
  --ui-paper: #faf8f2;
  --ui-surface: #fffefa;
  --ui-line: #dce5d6;
  --ui-ink: #153b26;
  --ui-muted: #617363;
  --ui-radius: 20px;
  --ui-shadow: 0 18px 45px rgba(6,71,20,.08);
  --ui-ease: cubic-bezier(.2,.8,.2,1);
}
html { scroll-padding-top: 90px; }
body { background:var(--ui-paper); font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; color:var(--ui-ink); }
h1,h2,h3 {font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-weight:720; letter-spacing:-.043em;}
h1 em,h2 em {font-family:inherit; font-weight:inherit; color:var(--ui-green); font-style:normal;}
.site-header {
  position:sticky; top:0; z-index:65;
  background:rgba(250,248,242,.98);
  border-bottom:1px solid #e0e6d8;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  transition:box-shadow .25s ease;
}
.site-header.is-scrolled {box-shadow:0 5px 18px rgba(20,57,32,.055);}
.header-inner {min-height:83px;gap:clamp(16px,2.5vw,36px);}
.brand {gap:11px;}
.brand img.brand-symbol {width:68px;height:44px;object-fit:contain;}
.brand-type strong {font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1;}
.brand-type small {font-size:7px;letter-spacing:.27em;margin-top:6px;}
.header-nav {display:flex;align-items:center;gap:clamp(18px,2.7vw,38px);font-weight:680;}
.header-nav a {
  position:relative;display:inline-flex;align-items:center;
  padding:14px 1px;color:#31543d;font-size:13px;
  transition:color .2s ease;
}
.header-nav a::after {
  content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;
  background:#639b3e;border-radius:3px;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .22s ease;
}
.header-nav a:hover,.header-nav a[aria-current="location"] {color:#0b4924;}
.header-nav a[aria-current="location"]::after,
.header-nav a:hover::after {transform:scaleX(1);}
.header-actions {display:flex;align-items:center;gap:11px;}
.header-icon-button {
  display:grid;place-items:center;
  width:43px;height:43px;min-width:43px;min-height:43px;
  background:#eaf0e3;color:#064714;
  border:1px solid transparent;border-radius:50%;
  transition:background .2s ease,transform .2s ease;
}
.header-icon-button svg {width:21px;height:21px;}
.header-icon-button:hover {background:#dce9d2;transform:translateY(-1px);}
.header-icon-button:active {transform:scale(.97);}
.site-header .menu-toggle {display:none;}
.header-cta {border-radius:50px;padding:13px 22px;gap:22px;white-space:nowrap;}
.header-cta:hover {background:#246a34;}
.mobile-nav {border-radius:0 0 16px 16px;}
.mobile-nav a {font-weight:650;}
.mobile-nav-social a img {width:20px;height:20px;}
main {overflow:clip;}
.hero {background:none; padding:26px 0 23px;overflow:visible;}
.hero-card {
  position:relative; isolation:isolate; display:grid; grid-template-columns:1fr .9fr;
  align-items:center; overflow:hidden; min-height:350px; padding:40px 50px;
  border-radius:28px; background:linear-gradient(112deg,#e4efdd 0%,#f0f5e6 55%,#daeacb 100%);
  box-shadow:inset 0 0 0 1px #d0dfc6;
}
.hero-content {position:relative;z-index:2; max-width:540px;}
.hero-kicker {display:flex;align-items:center;gap:9px; font-size:10px;letter-spacing:.12em;font-weight:850;color:#436d43;margin-bottom:20px;}
.hero-kicker-dot {height:6px;width:6px;background:var(--ui-green);border-radius:50%;}
.hero h1 {font-size:clamp(35px,3.5vw,58px);line-height:1.09;letter-spacing:-.052em;max-width:500px;margin-bottom:15px;}
.hero h1 em {color:#548d36;}
.hero-description {font-size:14px;line-height:1.65;color:#4e6e54;max-width:390px;margin-bottom:24px;}
.hero-button {min-height:47px; background:var(--ui-forest);border-radius:100px;color:#fff;gap:25px;padding:13px 24px;}
.hero-button:hover {background:#286f39;transform:translateY(-2px);}
.hero-visual {position:relative; align-self:stretch; display:grid;place-items:center;min-height:255px;}
.hero-visual:before,.hero-visual:after {
  content:"";position:absolute;border-radius:50%;
  background:rgba(165,198,126,.31);filter:blur(1px);
  width:310px;height:310px;right:-42px;top:-100px;z-index:-1;
}
.hero-visual:after {width:210px;height:210px;right:53%;top:64%;background:rgba(121,173,107,.14);}
.hero-visual-ring {
  width:310px;height:310px;border:1px solid rgba(76,125,62,.2);border-radius:50%;
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
.hero-visual-brand {
  width:min(100%,395px);height:auto;max-height:215px;object-fit:contain;
  transform:translate3d(var(--mouse-x,0px),var(--mouse-y,0px),0);
  transition:transform .45s var(--ui-ease);
  filter:drop-shadow(0 16px 14px rgba(39,88,28,.10));
}
.hero-visual-caption {
  position:absolute;bottom:8px;right:0;color:#427043;
  letter-spacing:.16em;font-size:9px;font-weight:750;
}
.categories-section {padding:26px 0 24px;}
.section-heading {display:flex;align-items:end;justify-content:space-between;gap:26px;margin:0 0 17px;}
.section-heading h2 {font-size:clamp(24px,2.6vw,35px);line-height:1.18;margin:0;letter-spacing:-.045em;}
.section-kicker {font-size:10px;letter-spacing:.115em;font-weight:850;color:#5d7f5b;margin:0 0 6px;}
.rail-controls {display:flex;align-items:center;gap:7px;}
.rail-controls button {
  display:grid;place-items:center;width:35px;height:35px;border-radius:50%;
  background:var(--ui-surface);border:1px solid var(--ui-line);color:var(--ui-forest);font-size:17px;
}
.rail-controls button:hover:not(:disabled) {background:#e3efda;}
.rail-controls button:disabled {opacity:.35;}
.category-tiles {
  display:flex; gap:10px; overflow-x:auto; scrollbar-width:none;
  scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  padding:2px 2px 10px;
}
.category-tiles::-webkit-scrollbar {display:none;}
.category-tile {
  min-height:111px; height:111px; min-width:156px; flex:0 0 156px;
  display:flex; flex-direction:column;justify-content:space-between;gap:4px;
  padding:14px 15px; border:1px solid #dce5d6;
  border-radius:18px; box-shadow:none; background:#fffefa;
  scroll-snap-align:start;
  transition:transform .25s var(--ui-ease), background .25s, border-color .25s, box-shadow .25s;
}
.category-tile::after {display:none;}
.category-tile:nth-child(n) {background:#fffefa;}
.category-tile:hover {transform:translateY(-3px);box-shadow:0 12px 18px rgba(8,67,23,.08);}
.category-tile.active,.category-tile[aria-pressed="true"] {background:var(--ui-forest);color:#fff;border-color:var(--ui-forest);}
.category-tile.active:hover {box-shadow:0 12px 18px rgba(8,67,23,.15);}
.category-tile .tile-top {display:flex;align-items:center;justify-content:space-between;}
.category-tile .tile-icon {display:grid;place-items:center;color:#4e8a43;}
.category-tile .tile-icon svg {width:23px;height:23px;stroke-width:1.7;}
.category-tile.active .tile-icon {color:#cfe5ac;}
.category-tile .tile-count {font-size:10px;color:#80957b;}
.category-tile.active .tile-count {color:#d3e6c8;}
.category-tile .tile-name {font:700 14px/1.25 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;max-width:136px;letter-spacing:-.025em;}
.category-tile .tile-bottom {display:none;}
.catalog-section {
  padding:26px 0 49px;
  background:none;border:0;
}
.catalog-heading {margin-bottom:17px; align-items:end;}
.catalog-heading .catalog-subtitle {font-size:13px;max-width:280px;margin:0;text-align:right;color:#66806a;line-height:1.5;}
.catalog-controls {display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:11px;margin-bottom:13px;}
.search-field {min-height:53px; border-radius:16px;background:#fffefa;box-shadow:0 6px 14px rgba(14,66,24,.035);border-color:#dce5d6;}
.search-field:focus-within {outline:2px solid rgba(85,149,77,.30);outline-offset:0;border-color:#85ad7d;}
.search-field input {font-size:14px;}
.catalog-actions {display:flex;gap:9px;}
.catalog-actions .filter-toggle {display:inline-flex;min-height:53px;border-radius:15px;background:#fffefa;padding:12px 17px;gap:10px;}
.catalog-actions .filter-toggle:hover {background:#ecf4e8;}
.filter-badge {min-width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#267744;font-size:10px;}
.sort-field {border-radius:15px;min-height:53px;padding:0 11px;}
.sort-field select {font-size:12px;min-width:128px;}
.quick-categories {display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:none; padding:2px 0 15px;}
.quick-categories::-webkit-scrollbar {display:none;}
.quick-category {
  flex:none;border-radius:30px;background:transparent;border:1px solid #bdcfb9;
  font-size:12px;min-height:35px;padding:7px 13px;font-weight:630;
  color:#456949;white-space:nowrap;
}
.quick-category.active {background:var(--ui-forest);border-color:var(--ui-forest);color:white;}
.quick-category:hover:not(.active) {border-color:var(--ui-forest);background:#ebf2e5;}
.catalog-layout {display:block;}
.catalog-results {min-width:0;}
.results-topline {margin-bottom:12px;min-height:26px;}
.results-topline p {font-size:12px;margin:3px 0;color:#657b69;}
.product-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.product-card {
  overflow:hidden;background:#fffefa;border-radius:20px;
  border:1px solid #e0e7db;min-width:0;
  transition:box-shadow .26s var(--ui-ease),border-color .26s,transform .26s var(--ui-ease);
  transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(0);
}
.product-card:hover {
  border-color:#adca9e; box-shadow:0 16px 26px rgba(8,67,23,.085);
  transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(-4px);
}
.product-visual {height:174px;background:linear-gradient(160deg,#edf3e7,#dceacb);border-radius:0;}
.product-visual::after {width:115px;height:115px;opacity:.45;}
.product-tag {border-radius:30px;background:rgba(255,255,255,.88);font-size:9px;font-weight:750;}
.product-visual img.placeholder-mark {width:88px;max-height:100px;}
.product-card-body {padding:15px 14px 16px;}
.product-category {font-size:9px;margin-bottom:8px;}
.product-name {font-size:15px;min-height:43px;line-height:1.35;font-weight:700;letter-spacing:-.018em;margin-bottom:10px;}
.product-meta {font-size:11px;margin-bottom:16px;}
.product-view {display:inline-flex;align-items:center;justify-content:space-between;width:100%;color:var(--ui-green);border-top:1px solid #e7ebdf;padding:12px 0 0;font-size:12px;gap:10px;}
.active-filters {justify-content:flex-end;}
.filter-chip {border-radius:50px;}
.demo-notice {border-radius:13px;padding:12px 14px;font-size:12px;background:#ecf3df;}
.empty-state {min-height:330px; padding:37px 20px;border-radius:20px;background:#fffefa;}
.empty-symbol {height:77px;width:77px;margin-bottom:15px;}
.empty-symbol img {max-width:60px;}
.empty-state h3 {font-size:26px;}
.empty-state>p:not(.section-kicker) {max-width:400px;font-size:13px;}
.load-area {margin-top:28px;}
.load-area .button {border-radius:40px;}
.filters-panel {display:none;}
.filters-panel.is-open {
  display:block;position:fixed;top:0;left:auto;right:0;bottom:0;
  width:min(390px,92vw);max-height:none;z-index:90;
  padding:24px 26px 28px; overflow:auto;
  background:var(--ui-paper);box-shadow:-22px 0 56px rgba(0,33,10,.2);
  border:0;border-radius:0;
}
.filters-backdrop:not([hidden]) {display:block;position:fixed;inset:0;background:rgba(3,27,12,.52);z-index:89;}
.filter-handle {display:none;}
.filter-header {margin:5px 0 25px;}
.filter-header h3 {font-size:20px;font-family:system-ui;font-weight:780;letter-spacing:-.03em;}
.filter-header button {display:grid;font-size:25px;min-width:37px;min-height:37px;border-radius:50%;background:#e7eee2;}
.filter-cat {border-radius:9px;padding:11px 9px;}
.filter-cat.active {background:#e1eddb;}
.filter-cat.active span:first-child {border:0;}
.filter-group {margin-bottom:20px;}
.filter-group legend,.filter-group>label:not(.radio-line) {margin-bottom:12px;}
.reset-button {width:100%;justify-content:center;min-height:43px;border:1px solid #c4d5bf;border-radius:14px;margin-top:12px;}
.filter-apply {width:100%;border-radius:15px;margin-top:12px;justify-content:space-between;min-height:49px;}
.contact-section {padding:39px 0 45px;background:#eef4e8;border-top:1px solid #dfe8d7;}
.contact-section .compact-heading>p {max-width:290px;margin:0;font-size:13px;color:#627b64;}
.contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.contact-tile {
  display:flex;align-items:center;gap:16px;padding:22px 24px;
  border-radius:19px;background:#fffefa;color:var(--ui-forest);border:1px solid #d5e3cf;
  min-width:0;transition:transform .2s var(--ui-ease),box-shadow .2s;
}
.contact-tile:hover {transform:translateY(-3px);box-shadow:0 12px 28px rgba(12,54,20,.09);}
.contact-tile>img {width:45px;height:45px;flex:none;object-fit:contain;}
.contact-tile>span:nth-child(2) {display:flex;flex-direction:column;gap:5px;min-width:0;}
.contact-tile strong {font-size:15px;}
.contact-tile small {font-size:11px;color:#5d7561;overflow-wrap:anywhere;}
.contact-tile-arrow {font-size:19px;margin-left:auto;}
.contact-whatsapp {background:var(--ui-forest);color:white;border-color:var(--ui-forest);}
.contact-whatsapp small {color:#d0e3cb;}
.contact-tile.contact-whatsapp small {color:#d0e3cb;}
.instagram-glyph {flex:none;display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#e3ebdf;}
.instagram-glyph svg {width:25px;height:25px;stroke:#286339;}
.contact-section .contact-location {justify-content:center;font-size:11px;margin-top:17px;}
.about-section {padding:37px 0;background:var(--ui-forest);}
.about-layout {grid-template-columns:200px 1fr;gap:33px;align-items:center;}
.about-mark {background:#e9f0df;min-height:170px;padding:22px;border-radius:19px;}
.about-mark img {width:140px;max-height:160px;object-fit:contain;}
.about-section .section-kicker {color:#bedfa4;}
.about-section h2 {font-size:26px;line-height:1.25;margin-bottom:9px;max-width:520px;color:#fff;}
.about-section p:not(.section-kicker) {font-size:13px;max-width:580px;margin:0;}
.site-footer {padding:24px 0 17px;}
.footer-inner {padding-bottom:22px;}
.footer-brand img {width:55px;height:32px;}
.footer-brand strong {font-size:20px;}
.footer-links {font-size:12px;gap:14px;}
.footer-bottom {padding-top:14px;}
.quick-dock {display:none;}
.product-dialog {border-radius:24px;width:min(530px,calc(100vw - 24px));}
.dialog-close {background:#fff;}
.dialog-visual {height:190px;}
.dialog-body {padding:24px;}
.dialog-body h2 {font-size:27px;letter-spacing:-.03em;}
.dialog-inquiry {border-radius:13px;}
.is-revealed {animation:surface-enter .62s var(--ui-ease) both;}
@keyframes surface-enter {from {opacity:.78;transform:translateY(12px);}to {opacity:1;transform:translateY(0);}}
@media(min-width:1100px) {
  .product-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:1050px) {
  .site-header .menu-toggle {display:grid;}
  .header-nav {display:none;}
  .product-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px) {
  html {scroll-padding-top:79px;scroll-padding-bottom:78px;}
  body {padding-bottom:calc(77px + env(safe-area-inset-bottom));}
  .container {width:calc(100% - 30px);}
  .header-inner {min-height:64px;}
  .brand img.brand-symbol {width:53px;height:34px;}
  .brand-type strong {font-size:21px;}
  .brand-type small {font-size:6px;letter-spacing:.25em;}
  .header-cta {display:none;}
  .header-icon-button {min-width:40px;min-height:40px;}
  .header-actions {gap:5px;}
  .hero {padding:14px 0 17px;}
  .hero-card {grid-template-columns:minmax(0,1fr) 100px;min-height:220px;padding:22px 17px;border-radius:23px;}
  .hero-kicker {font-size:8px;letter-spacing:.08em;margin-bottom:11px;}
  .hero h1 {font-size:clamp(25px,6.6vw,37px);line-height:1.16;margin-bottom:8px;max-width:290px;}
  .hero-description {font-size:11px;line-height:1.48;margin-bottom:15px;max-width:285px;}
  .hero-button {min-height:40px;padding:11px 16px;font-size:11px;gap:13px;}
  .hero-visual {min-height:0;align-self:stretch;position:relative;}
  .hero-visual-brand {width:190px;max-width:none;height:auto;position:absolute;left:-24px;top:50%;transform:translate3d(var(--mouse-x,0px),calc(-50% + var(--mouse-y,0px)),0);}
  .hero-visual-ring {height:165px;width:165px;left:55%;top:45%;}
  .hero-visual-caption {display:none;}
  .hero-visual:before {width:190px;height:190px;top:-60px;right:-70px;}
  .hero-visual:after {display:none;}
  .categories-section {padding:5px 0 14px;}
  .section-heading {margin-bottom:12px;}
  .section-heading h2 {font-size:23px;}
  .section-kicker {font-size:9px;}
  .category-tiles {gap:8px;}
  .category-tile {flex-basis:132px;min-width:132px;height:104px;min-height:104px;padding:12px;}
  .category-tile .tile-name {font-size:12px;max-width:110px;}
  .category-tile .tile-icon svg {width:22px;height:22px;}
  .rail-controls button {width:32px;height:32px;}
  .catalog-section {padding:12px 0 29px;}
  .catalog-heading {align-items:center;margin-bottom:12px;}
  .catalog-heading .catalog-subtitle {font-size:11px;max-width:145px;}
  .catalog-controls {grid-template-columns:1fr;gap:9px;}
  .search-field {min-height:49px;border-radius:15px;}
  .search-field input {font-size:12px;}
  .catalog-actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .catalog-actions .filter-toggle,.catalog-actions .sort-field {width:100%;min-height:44px;height:44px;border-radius:13px;}
  .catalog-actions .filter-toggle {padding:9px 15px;}
  .sort-field {padding:0 9px;}
  .sort-field select {width:100%;min-width:0;font-size:12px;}
  .quick-categories {padding-bottom:12px;}
  .quick-category {min-height:32px;font-size:11px;padding:6px 12px;}
  .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .product-card {border-radius:17px;}
  .product-visual {height:145px;}
  .product-visual img.placeholder-mark {width:75px;}
  .product-card-body {padding:12px 11px 13px;}
  .product-name {font-size:13px;min-height:38px;}
  .product-tag {font-size:8px;}
  .results-topline {display:block;margin-bottom:10px;}
  .active-filters {justify-content:flex-start;margin:5px 0 0;}
  .empty-state {min-height:310px;padding:32px 15px;border-radius:18px;}
  .empty-state h3 {font-size:24px;}
  .filters-panel.is-open {
    inset:auto 0 0;width:100vw;max-height:84dvh;height:auto;
    border-radius:24px 24px 0 0;padding:15px 21px calc(26px + env(safe-area-inset-bottom));
    box-shadow:0 -20px 50px rgba(0,33,10,.2);
    z-index:90;
  }
  .filter-handle {display:block;width:42px;height:5px;border-radius:9px;background:#c3d0bc;margin:0 auto 15px;}
  .filter-header {margin-bottom:15px;}
  .filter-header h3 {font-size:19px;}
  .filter-category-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
  .filter-cat {font-size:11px;min-height:38px;border:1px solid #dce6d5;padding:9px;}
  .filter-group {margin-bottom:16px;}
  .contact-section {padding:26px 0 29px;}
  .contact-section .compact-heading>p {font-size:11px;max-width:125px;}
  .contact-grid {grid-template-columns:1fr;gap:10px;}
  .contact-tile {padding:15px 17px;border-radius:16px;}
  .contact-tile>img,.instagram-glyph {width:40px;height:40px;}
  .contact-location {font-size:10px;}
  .about-section {padding:25px 0;}
  .about-layout {display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;}
  .about-mark {min-height:110px;padding:10px;border-radius:13px;}
  .about-mark img {width:90px;max-height:98px;}
  .about-section h2 {font-size:17px;margin-bottom:7px;}
  .about-section p:not(.section-kicker) {font-size:11px;line-height:1.5;}
  .footer-inner {flex-direction:row;flex-wrap:wrap;gap:14px;align-items:center;}
  .footer-links {gap:15px;}
  .footer-bottom {gap:5px;}
  .quick-dock {
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    position:fixed;inset:auto 0 0;z-index:65;
    padding:7px 10px calc(6px + env(safe-area-inset-bottom));
    background:var(--ui-forest);border:0;
    border-radius:18px 18px 0 0;
    box-shadow:0 -9px 26px rgba(5,41,17,.16);
  }
  .quick-dock-item {
    display:flex; flex-direction:column;gap:3px;
    align-items:center;justify-content:center;
    border-radius:14px;min-height:56px;
    color:#e6f1e3;font-size:10px;font-weight:650;
    transition:background .2s var(--ui-ease),transform .2s;
  }
  .quick-dock-item svg {width:22px;height:22px;}
  .quick-dock-item img {height:24px;width:24px;}
  .quick-dock-item.is-active {background:#4d8d3b;color:#fff;}
  .quick-dock-item:hover {background:#276b35;}
  .quick-dock-item:active {transform:scale(.95);}
  .quick-dock-item:focus-visible {outline-color:#d5e58d;}
}
@media(max-width:380px) {
  .hero-card {grid-template-columns:1fr 75px;}
  .hero h1 {font-size:25px;}
  .hero-visual-brand {left:-35px;width:150px;}
  .hero-description {font-size:10px;}
}
@media(hover:none),(pointer:coarse) {
  .product-card:hover,.category-tile:hover,.contact-tile:hover {transform:none;}
}
@media(prefers-reduced-motion:reduce) {
  .is-revealed {animation:none;}
  .hero-visual-brand,.product-card,.category-tile,.contact-tile,.hero-button {transition:none;transform:none;}
  .hero-visual-brand {transform:translateY(-50%);}
}
