/* Limites individuais das poses: nenhum dedo ou pedaço da pose vizinha. */
.mascot-wave { --mascot-ratio: 528 / 724; background-size: 411.363636% 100%; background-position: 0% 50%; }
.mascot-point { --mascot-ratio: 516 / 724; background-size: 420.930233% 100%; background-position: 31.884058% 50%; }
.mascot-pin { --mascot-ratio: 516 / 724; background-size: 420.930233% 100%; background-position: 68.115942% 50%; }
.mascot-phone { --mascot-ratio: 520 / 724; background-size: 417.692308% 100%; background-position: 100% 50%; }

.catalog-page, .brand-story-page { padding-block: 38px 75px; }
.page-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 25px; font-size:.74rem; color:#627354; }
.page-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.catalog-heading { max-width:800px; margin-bottom:28px; }
.catalog-heading h1, .brand-story-heading h1 { font-size:clamp(2.25rem,4.8vw,4.3rem); line-height:1.04; letter-spacing:-.045em; margin:9px 0 17px; }
.catalog-heading > p:last-child { color:#52664a; max-width:650px; line-height:1.7; }
.catalog-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; }
.catalog-nav a { padding:10px 17px; border:1px solid #9bac8b; border-radius:99px; font-size:.8rem; font-weight:700; color:#174d32; transition:background .2s; }
.catalog-nav a:hover, .catalog-nav a[aria-current=true] { color:#fff8df; background:#075333; border-color:#075333; }
.catalog-flavour { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr); gap:clamp(25px,4vw,65px); align-items:center; margin-bottom:28px; }
.catalog-flavour[hidden] { display:none; }
.catalog-photo { margin:0; border:1px solid #c9d0b6; border-radius:19px; overflow:hidden; background:#eee8d4; }
.catalog-photo img { display:block; width:100%; height:auto; aspect-ratio:8 / 5; object-fit:contain; }
.catalog-photo .atlas-products { width:100%; aspect-ratio:1; }
.catalog-description h2 { font-size:clamp(1.8rem,3vw,2.7rem); margin:10px 0 16px; }
.catalog-description p { color:#52664a; line-height:1.75; font-size:.9rem; }
.catalog-weight { display:inline-flex; padding:6px 11px; background:#e3e9d2; border-radius:6px; font-size:.75rem; font-weight:700; }
.catalog-description .button { margin-top:16px; }
.catalog-notice { padding:16px 20px; border-left:3px solid #b8c394; background:#e9e8d5; font-size:.75rem; line-height:1.7; color:#52664a; margin:30px 0 45px; }
.catalog-related { border-top:1px solid #bbc7a5; padding-top:28px; }
.catalog-related h2 { margin:0 0 18px; font-size:1.45rem; }
.catalog-related > div { display:flex; flex-wrap:wrap; gap:10px; }
.catalog-related a { padding:13px 17px; border:1px solid #b7c2a2; border-radius:8px; font-size:.8rem; font-weight:700; }
.brand-story-heading { max-width:850px; margin-bottom:32px; }
.brand-story-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(25px,5vw,65px); align-items:start; }
.brand-story-photo { width:100%; aspect-ratio:1; border-radius:20px; overflow:hidden; position:sticky; top:110px; }
.brand-story-copy p { font-size:.92rem; line-height:1.9; color:#52664a; margin:0 0 20px; }
.brand-story-copy .button { margin-top:10px; }

.event-grid .event-card-v16 { grid-template-columns:minmax(125px,.72fr) minmax(0,1.3fr); border-radius:15px; min-height:285px; }
.event-flyer { display:grid; place-items:center; background:#e9e8d6; padding:12px; }
.event-flyer img { display:block; width:100%; height:auto; max-height:340px; object-fit:contain; }
.event-flyer-pending { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:220px; color:#4c6b46; font-size:.75rem; text-align:center; }
.event-flyer-pending .icon { width:40px; height:40px; opacity:.5; }
.event-card-v16 .event-card-body { padding:24px 20px; display:flex; flex-direction:column; align-items:start; gap:12px; }
.event-card-v16 h3 { font-size:1.28rem; line-height:1.2; margin:0; }
.event-date-line { display:flex; align-items:center; gap:8px; color:#34543b; font-size:.72rem; font-weight:750; line-height:1.5; margin:0; }
.event-date-line .icon { flex:0 0 17px; width:17px; height:17px; }
.event-card-v16 .event-location { margin:0; font-size:.73rem; }
.event-card-v16 .text-link { margin-top:auto; font-size:.75rem; }
.event-countdown { color:#0c5536; font-size:.88rem; font-weight:750; width:100%; }
.event-countdown-label { display:block; margin-bottom:7px; font-size:.58rem; text-transform:uppercase; letter-spacing:.1em; color:#697753; font-weight:600; }
.event-clock { display:flex; gap:6px; }
.event-clock > span { flex:1; max-width:56px; padding:8px 4px 6px; border:1px solid #d4dabf; border-radius:7px; background:#eef0df; text-align:center; }
.event-clock strong { display:block; font-size:1.2rem; line-height:1; font-variant-numeric:tabular-nums; }
.event-clock small { display:block; font-size:.53rem; font-weight:500; margin-top:4px; }
.event-detail-dialog { width:min(1100px,calc(100% - 40px)); max-width:1100px; }
.event-detail-layout { display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,1.2fr); }
.event-detail-flyer { display:flex; align-items:center; justify-content:center; background:#e8e5d1; padding:25px; }
.event-detail-flyer img { display:block; width:100%; height:auto; max-height:75vh; object-fit:contain; }
.event-detail-flyer .event-flyer-pending { min-height:400px; }
.event-detail-copy { padding:48px 40px 40px; }
.event-detail-copy h2 { font-size:clamp(1.7rem,3.2vw,2.7rem); line-height:1.08; margin:12px 0 24px; }
.event-detail-copy > p:not(.eyebrow):not(.event-date-line) { font-size:.86rem; line-height:1.8; color:#52664a; }
.event-detail-copy .event-countdown { margin:22px 0; }
.event-detail-copy .event-date-line { background:#f4d433; padding:11px 13px; border-radius:7px; font-size:.8rem; }
.event-detail-copy .button-row { gap:17px; margin-top:28px; }
.event-detail-copy .button { font-size:.72rem; padding:12px 16px; }
@media(max-width:850px) {
  .catalog-flavour, .brand-story-layout { grid-template-columns:1fr; }
  .catalog-description { max-width:650px; }
  .brand-story-photo { position:static; aspect-ratio:1.6; }
  .event-detail-layout { grid-template-columns:1fr; }
  .event-detail-flyer img { max-height:65vh; }
  .event-detail-flyer .event-flyer-pending { min-height:210px; }
  .event-detail-copy { padding:30px 25px; }
}
@media(max-width:560px) {
  .catalog-page, .brand-story-page { padding-block:25px 50px; }
  .catalog-heading h1, .brand-story-heading h1 { font-size:2.4rem; }
  .catalog-nav { gap:6px; }
  .catalog-nav a { padding:9px 13px; font-size:.72rem; }
  .catalog-photo { border-radius:13px; }
  .event-grid .event-card-v16 { grid-template-columns:1fr; }
  .event-flyer { padding:16px; }
  .event-flyer img { max-height:390px; }
  .event-flyer-pending { min-height:180px; }
  .event-card-v16 .event-card-body { padding:22px; }
  .event-detail-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 30px); }
  .event-detail-flyer { padding:20px; }
}
