/* Tema inspirado na referência fornecida pelo usuário. Nomes/preços são texto editável. */
body.studio-retail .lab-campaign[data-lab-preset="festival"] { grid-column:1 / -1; }
body.studio-retail .lab-campaign[data-lab-preset="festival"] > img { background:#ff8b0c; height:110px; }
body.studio-retail .poster[data-studio-style="festival"] { padding:14px; }
body.studio-retail .poster[data-studio-style="festival"] .poster-header.has-image { min-height:27%; padding:0; }
body.studio-retail .poster[data-studio-style="festival"] .poster-header.has-logo .poster-header-image { width:64%; max-width:64%; height:100%; left:-1%; top:0; object-position:center; }
body.studio-retail .poster[data-studio-style="festival"] .discount-symbol.has-logo { position:absolute; right:0; top:3%; width:36%; height:92%; }
body.studio-retail .poster[data-studio-style="festival"] .poster-logo { width:100%; height:100%; }
body.studio-retail .poster[data-studio-style="festival"] .product-grid { gap:7px; padding-top:3px; }
body.studio-retail .poster[data-studio-style="festival"] .offer-tile[data-tile-bg^="festival-"] { --tile-bg:url('assets/studio-v2/festival-wood.png') center / cover; border:2px solid #ffbd1d; border-radius:14px; padding:3px 5px 5px; }
body.studio-retail .poster[data-studio-style="festival"] .product-name { margin-top:0; background:var(--festival-name-banner,url('assets/studio-v2/festival-name.svg')) center / 100% 100% no-repeat; color:#fff; font-family:"Anton",Arial,sans-serif; font-size:clamp(11px,min(10cqi,9cqb),26px); font-weight:400; line-height:1.15; text-align:center; padding:8px 12px; text-shadow:0 1px 2px #9e2700; letter-spacing:0; }
body.studio-retail .poster[data-studio-style="festival"] .product-info-wrap { padding:0 !important; }
body.studio-retail .poster[data-studio-style="festival"] .product-art-stack { margin-top:0; }
body.studio-retail .poster[data-studio-style="festival"] .product-art { filter:drop-shadow(0 6px 5px #2e0d0070); }
body.studio-retail .poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row { max-width:none; width:100%; margin-top:-8px; }
body.studio-retail .poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row .price { color:#fff !important; font-size:clamp(19px,min(24cqi,21cqb),58px); }
body.studio-retail .poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row .price small { font-size:.9em; }
body.studio-retail .poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row .currency { color:#ffe02d !important; font-size:clamp(10px,min(8cqi,9cqb),20px); }
body.studio-retail .poster[data-studio-style="festival"] .poster-footer { background:#063483; border-block:1px solid #ffdc3b; padding:7px 9px; margin-top:5px; border-radius:5px; font-family:"Anton",Arial,sans-serif; font-size:11px; letter-spacing:.015em; }
.tile-bg-preview[data-tile-bg-preview^="festival-"] { background:url('assets/studio-v2/festival-wood.png') center / cover; }
#poster[data-studio-style="festival"] .offer-tile { border:2px solid var(--festival-border,#ffbd1d) !important; }
#poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row .currency { color:#ffe02d !important; }

#poster[data-studio-style="festival"] .price-row .price,
#poster[data-studio-style="festival"] .price-row .currency { font-family:"Archivo Black",Arial,sans-serif; font-weight:400; }
@media(max-width:760px) { body.studio-retail .lab-campaign[data-lab-preset="festival"] { grid-column:1 / -1; } body.studio-retail .lab-campaign[data-lab-preset="festival"] > img { height:85px; } }

/* A paleta acompanha o conjunto selecionado, mantendo madeira e pincéis editáveis. */
body.studio-retail .poster[data-studio-campaign="frango"] { --festival-border:#ffe02d; }
body.studio-retail .poster[data-studio-campaign="churrasco"] { --festival-border:#ffc83d; --festival-name-banner:url('assets/studio-v2/festival-churrasco-name.svg'); }
body.studio-retail .poster[data-studio-campaign="feira"] { --festival-border:#f9d53f; --festival-name-banner:url('assets/studio-v2/festival-feira-name.svg'); }
body.studio-retail .poster[data-studio-campaign="padaria"] { --festival-border:#fff1c5; --festival-name-banner:url('assets/studio-v2/festival-padaria-name.svg'); }

/* Os destaques também recebem a textura, acima da regra herdada do tema. */
#poster[data-studio-style="festival"] .offer-tile { --tile-bg:url('assets/studio-v2/festival-wood.png') center / cover !important; }

/* Catálogo completo: a cor e a faixa são compartilhadas com o exportador. */
body.studio-retail .poster[data-studio-campaign="ofertas"] { --festival-border:#ffcf35; --festival-name-banner:url('assets/studio-v3/ofertas-name.svg'); }
body.studio-retail .poster[data-studio-campaign="carne"] { --festival-border:#ffc83d; --festival-name-banner:url('assets/studio-v3/carne-name.svg'); }
body.studio-retail .poster[data-studio-campaign="horti"] { --festival-border:#f9d53f; --festival-name-banner:url('assets/studio-v3/horti-name.svg'); }
body.studio-retail .poster[data-studio-campaign="padaria"] { --festival-border:#fff1c5; --festival-name-banner:url('assets/studio-v3/padaria-name.svg'); }
body.studio-retail .poster[data-studio-campaign="limpeza"] { --festival-border:#b8f4ff; --festival-name-banner:url('assets/studio-v3/limpeza-name.svg'); }
body.studio-retail .poster[data-studio-campaign="black"] { --festival-border:#e9bf5a; --festival-name-banner:url('assets/studio-v3/black-name.svg'); }
body.studio-retail .poster[data-studio-campaign="junina"] { --festival-border:#ffdf53; --festival-name-banner:url('assets/studio-v3/junina-name.svg'); }
body.studio-retail .poster[data-studio-campaign="maes"] { --festival-border:#ffd0e4; --festival-name-banner:url('assets/studio-v3/maes-name.svg'); }
body.studio-retail .poster[data-studio-campaign="pascoa"] { --festival-border:#f6d774; --festival-name-banner:url('assets/studio-v3/pascoa-name.svg'); }
body.studio-retail .poster[data-studio-campaign="padaria-festival"] { --festival-border:#fff1c5; --festival-name-banner:url('assets/studio-v2/festival-padaria-name.svg'); }

/* Boxes baixos: o mínimo fixo da foto e a proporção da etiqueta não podem
   empurrar o preço para fora da grade automática quadrada ou da TV. */
#poster[data-studio-style="festival"] .product-art-stack,
#poster[data-studio-style="festival"] .product-art { min-height:0; }
#poster[data-studio-style="festival"] .product-name {
  padding-block:clamp(2px,3cqb,8px);
}
#poster[data-studio-style="festival"] .product-limit {
  max-width:88%;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
}
/* A faixa fixa do Story comporta duas linhas com o pincel e a observação.
   Quatro linhas herdadas eram comprimidas e cortavam letras pela metade. */
#poster[data-studio-style="festival"].format-story :is(.product-grid[data-grid="auto"],.product-grid[data-grid="4x2"]) .product-name {
  -webkit-line-clamp:2;
}
#poster[data-studio-style="festival"].format-story :is(.product-grid[data-grid="auto"],.product-grid[data-grid="4x2"]) .price-row {
  --studio-tag-block-limit:28cqb;
  margin-top:0;
}
#poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row {
  width:calc(100% / max(var(--price-scale,1),1));
  max-width:calc(100% / max(var(--price-scale,1),1));
  height:calc(min(var(--studio-tag-block-limit,32cqb),25.7cqi) / max(var(--price-scale,1),1));
  min-height:calc(18px / max(var(--price-scale,1),1));
  padding-block:2px;
}
#poster[data-studio-style="festival"] .offer-tile.has-tag-image .price-row .price {
  font-size:clamp(12px,min(24cqi,21cqb),58px);
}
