/* Página inicial — vitrine fotográfica de categorias.
   Cores continuam controladas pela paleta dinâmica do PainelSite. */
.page-inicio .future-category-shell{
  padding-top:clamp(26px,3vw,42px)!important;
  padding-bottom:clamp(28px,3.2vw,46px)!important;
  overflow:hidden;
}

.page-inicio .future-section-heading.compact{
  margin-bottom:20px;
  align-items:flex-end;
}

.page-inicio .future-section-heading.compact h2{
  max-width:760px;
  margin-top:8px;
  font-size:clamp(25px,2.25vw,36px);
  line-height:1.12;
  text-wrap:balance;
}

.page-inicio .future-categories{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.25vw,18px)!important;
  align-items:stretch;
}

.page-inicio .future-category{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  max-height:none!important;
  align-self:stretch!important;
  min-height:270px;
  padding:180px 0 0!important;
  overflow:hidden;
  border-radius:14px!important;
  text-align:left!important;
  isolation:isolate;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.page-inicio .future-category:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(16,24,20,.14)!important;
}

.page-inicio .future-category-media{
  position:absolute!important;
  inset:0 0 auto 0!important;
  display:grid;
  width:auto!important;
  max-width:none!important;
  height:180px!important;
  min-height:180px!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  overflow:hidden;
  place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--future-yellow) 15%,transparent),color-mix(in srgb,var(--future-line) 45%,transparent));
}

.page-inicio .future-category-media img{
  position:absolute!important;
  inset:0!important;
  z-index:2;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  transition:transform .45s ease,filter .3s ease;
}

.page-inicio .future-category:hover .future-category-media img{
  filter:saturate(1.05) contrast(1.02);
}

.page-inicio .future-category-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:3;
  height:34%;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(10,22,17,.18),transparent);
}

.page-inicio .future-category-fallback{
  z-index:1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:58px;
  line-height:1;
  opacity:.35;
}

.page-inicio .future-category-media.is-missing img{display:none}

.page-inicio .future-category-content{
  display:flex;
  width:100%!important;
  height:100%;
  flex:1 1 auto;
  min-width:0;
  padding:16px 16px 14px;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.page-inicio .future-category-content strong{
  width:100%;
  font-size:16px;
  line-height:1.25;
  text-align:center;
}

.page-inicio .future-category-content small{
  display:-webkit-box;
  width:100%;
  min-height:34px;
  margin-top:6px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:11px;
  line-height:1.5;
  text-align:center;
}

.page-inicio .future-category-footer{
  width:100%;
  min-height:0;
  margin-top:auto;
  padding-top:14px;
  display:flex;
  justify-content:center;
  border-top:0;
}

.page-inicio .future-category-footer .rhavi-card-action{
  min-width:126px;
  min-height:40px;
  margin:0;
  gap:12px;
  padding-inline:15px!important;
  border-radius:8px!important;
  font-size:11px!important;
}

.page-inicio .future-category-footer i{font-style:normal}

/* Categorias e promoções usam exatamente a mesma régua de largura. */
@media(min-width:1101px){
  .page-inicio .future-categories,
  .page-inicio .future-product-grid,
  .page-inicio .future-combo-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(12px,1.25vw,18px)!important;
  }

  .page-inicio .future-category,
  .page-inicio .future-product-card,
  .page-inicio .future-combo-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Movimento contínuo dos combos, mantendo quatro cards alinhados no Windows. */
@media(min-width:1101px){
  .page-inicio .future-combo-grid{
    display:flex!important;
    overflow-x:hidden!important;
    scroll-behavior:auto;
  }

  .page-inicio .future-combo-card{
    flex:0 0 calc((100% - (3 * clamp(12px,1.25vw,18px))) / 4)!important;
  }
}

@media(min-width:901px) and (max-width:1100px){
  .page-inicio .future-combo-grid{
    display:flex!important;
    gap:clamp(12px,1.25vw,18px)!important;
    overflow-x:hidden!important;
  }

  .page-inicio .future-combo-card{
    flex:0 0 calc((100% - clamp(12px,1.25vw,18px)) / 2)!important;
  }
}

@media(max-width:1100px){
  .page-inicio .future-categories,
  .page-inicio .future-product-grid,
  .page-inicio .future-combo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
    gap:8px!important;
  }

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-actions .future-button{
    width:100%!important;
    min-width:0;
    min-height:44px;
    padding:0 11px!important;
    gap:7px!important;
    justify-content:space-between!important;
    font-size:10px!important;
    white-space:nowrap;
  }

  .page-inicio .future-category-shell{
    padding:22px 14px 25px!important;
  }

  .page-inicio .future-section-heading.compact{
    margin-bottom:16px;
    align-items:flex-start;
  }

  .page-inicio .future-categories{
    display:flex!important;
    gap:12px!important;
    padding:2px 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none;
  }

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-product-grid,
  .page-inicio .future-product-grid,
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-combo-grid,
  .page-inicio .future-combo-grid{
    display:flex!important;
    gap:12px!important;
    padding:2px 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none;
  }

  .page-inicio .future-product-grid::-webkit-scrollbar,
  .page-inicio .future-combo-grid::-webkit-scrollbar{display:none}

  .page-inicio .future-categories::-webkit-scrollbar{display:none}

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-category,
  .page-inicio .future-category{
    flex:0 0 min(320px,calc(100vw - 64px))!important;
    width:min(320px,calc(100vw - 64px))!important;
    min-width:min(320px,calc(100vw - 64px))!important;
    max-width:min(320px,calc(100vw - 64px))!important;
    min-height:286px!important;
    grid-template-rows:166px minmax(0,1fr);
    scroll-snap-align:start!important;
  }

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-product-card,
  .page-inicio .future-product-card,
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-combo-card,
  .page-inicio .future-combo-card{
    flex:0 0 min(320px,calc(100vw - 64px))!important;
    width:min(320px,calc(100vw - 64px))!important;
    min-width:min(320px,calc(100vw - 64px))!important;
    max-width:min(320px,calc(100vw - 64px))!important;
    scroll-snap-align:start!important;
  }
}

@media(max-width:700px){
  .page-inicio .future-category{
    padding-top:160px!important;
  }

  .page-inicio .future-category-media{
    height:160px!important;
    min-height:160px!important;
  }
}

@media(max-width:420px){
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-category,
  .page-inicio .future-category,
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-product-card,
  .page-inicio .future-product-card,
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-combo-card,
  .page-inicio .future-combo-card{
    flex-basis:calc(100vw - 64px)!important;
    width:calc(100vw - 64px)!important;
    min-width:calc(100vw - 64px)!important;
    max-width:calc(100vw - 64px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .page-inicio .future-category,
  .page-inicio .future-category-media img{transition:none}
}

.combo-details-modal{
  width:min(680px,calc(100% - 28px));
  max-height:92vh;
  padding:0;
  overflow:hidden;
  border:1px solid var(--future-line);
  border-radius:18px;
  background:var(--future-bg);
  color:var(--future-text);
}
.combo-details-modal::backdrop{background:rgba(5,8,7,.72);backdrop-filter:blur(5px)}
.combo-modal-shell{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.combo-modal-close{position:absolute;z-index:4;top:12px;right:12px;width:42px;height:42px;border:1px solid var(--future-line);border-radius:50%;background:var(--future-bg);color:inherit;font-size:25px;cursor:pointer}
.combo-modal-media{min-height:420px;overflow:hidden;background:#e9eef0}
.combo-modal-media img{width:100%;height:100%;object-fit:cover}
.combo-modal-copy{padding:58px 30px 28px;display:flex;flex-direction:column;align-items:flex-start}
.combo-modal-copy>small{color:var(--future-yellow);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.combo-modal-copy h2{margin:9px 0 13px;font-size:29px;line-height:1.15}
.combo-modal-copy p{margin:0;color:var(--future-muted);font-size:13px;line-height:1.65}
.combo-modal-copy>strong{margin-top:20px;font-size:21px}
.combo-modal-copy>[data-combo-action]{width:100%;margin-top:auto}
.combo-modal-copy>[data-combo-action]>*{width:100%!important;min-height:48px!important;margin-top:18px!important}

@media(max-width:900px){
  .combo-modal-shell{grid-template-columns:1fr;min-height:0}
  .combo-modal-media{height:260px;min-height:260px}
  .combo-modal-copy{min-height:300px;padding:27px 22px 22px}
}

/* Android/iOS: remove vazios entre as seções sem alterar os cards. */
@media(max-width:900px){
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-products{
    margin-top:16px!important;
  }

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-products .future-section-heading{
    margin-bottom:10px!important;
  }

  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-section-heading span:empty,
  html:is([data-platform="android"],[data-platform="ios"]) .page-inicio .future-section-heading p:empty{
    display:none!important;
    margin:0!important;
  }
}

/* Popup de detalhes dos cards de categoria. */
.page-inicio .future-category{width:100%;color:inherit;font:inherit;cursor:pointer}.category-details-modal{width:min(920px,calc(100% - 28px));max-height:90vh;padding:0;border:1px solid var(--future-line);border-radius:18px;background:var(--future-panel,#fff);color:var(--future-text,#17191c);overflow:hidden}.category-details-modal::backdrop{background:rgba(5,8,7,.72);backdrop-filter:blur(5px)}.category-modal-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:520px}.category-modal-close{position:absolute;z-index:5;top:14px;right:14px;width:42px;height:42px;border:1px solid var(--future-line);border-radius:50%;background:var(--future-panel,#fff);color:inherit;font-size:25px;cursor:pointer}.category-modal-gallery{position:relative;min-height:520px;overflow:hidden;background:#eef1ef}.category-modal-gallery img{width:100%;height:520px;object-fit:cover}.category-modal-gallery>button{position:absolute;z-index:3;top:50%;width:42px;height:42px;border:0;border-radius:50%;background:rgba(17,19,21,.78);color:#fff;font-size:18px;cursor:pointer}.category-modal-gallery>[data-category-prev]{left:14px}.category-modal-gallery>[data-category-next]{right:14px}.category-modal-gallery>[data-category-counter]{position:absolute;z-index:3;bottom:14px;left:50%;padding:6px 10px;border-radius:999px;background:rgba(17,19,21,.78);color:#fff;font-size:10px;transform:translateX(-50%)}.category-modal-empty{height:100%;display:grid;place-items:center;color:#7a817d}.category-modal-copy{padding:58px 38px 36px;display:flex;flex-direction:column;align-items:flex-start}.category-modal-copy>small{color:var(--future-yellow);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.category-modal-copy h2{margin:10px 0 14px;font-size:32px;line-height:1.15}.category-modal-copy p{margin:0;color:var(--future-muted);font-size:14px;line-height:1.7}.category-modal-copy>strong{margin-top:24px;font-size:22px}.category-modal-add{width:100%;min-height:50px;margin-top:auto;border:0;border-radius:9px;background:var(--future-yellow);color:#171911;font-size:13px;cursor:pointer}.category-modal-warning{margin-top:auto;padding:13px;border:1px solid var(--future-line);border-radius:9px;color:var(--future-muted);font-size:11px;line-height:1.5}html[data-theme="light"] .category-details-modal{background:#fff;color:#17191c}html[data-theme="dark"] .category-details-modal{background:#111315;color:#f5f5f2}html[data-theme="dark"] .category-modal-gallery{background:#080a09}@media(max-width:700px){.category-details-modal{max-height:94vh;overflow:auto}.category-modal-shell{grid-template-columns:1fr}.category-modal-gallery{min-height:310px}.category-modal-gallery img{height:310px}.category-modal-copy{min-height:330px;padding:28px 22px 22px}.category-modal-copy h2{font-size:27px}}
