:root{--ink:#302b2e;--muted:#756d71;--cream:#fffafb;--paper:#fff;--wine:#75b968;--wine-dark:#4e8e55;--rose:#f5c7de;--gold:#dc91b8;--line:#efd9e4;--success:#4e9c59;--danger:#b42318;--shadow:0 24px 70px rgba(105,72,90,.15);--radius:22px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body.no-scroll{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.hidden{display:none!important}.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}.announcement{padding:9px 16px;background:var(--wine-dark);color:#fff;text-align:center;font-size:.84rem}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,250,251,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header-inner{min-height:78px;display:grid;grid-template-columns:190px 1fr auto;gap:24px;align-items:center}.brand img{width:170px}.search-form{display:flex;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:999px}.search-form input{width:100%;min-width:0;border:0;outline:0;padding:13px 18px;background:transparent}.search-form button{border:0;padding:0 22px;color:#fff;background:var(--wine)}.mobile-search{display:none;border:0;background:transparent;font-size:1.7rem}.cart-button{display:flex;align-items:center;gap:8px;border:0;background:transparent}.cart-button strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--wine);color:#fff;font-size:.78rem}.hero{overflow:hidden;padding:58px 0 42px;background:radial-gradient(circle at 77% 30%,rgba(117,185,104,.22),transparent 34%),linear-gradient(135deg,#fff9fc,#f7d8e8)}.hero-grid{min-height:460px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:36px}.eyebrow{display:block;margin-bottom:10px;color:var(--wine);font-size:.78rem;font-weight:800;letter-spacing:.18em}.hero h1,.section-heading h2,.category-section h2,.how-section h2,.product-modal-info h2,.checkout-modal h2,.success-modal h2{margin:0;line-height:1.05;letter-spacing:-.04em}.hero h1{max-width:620px;font-size:clamp(2.7rem,6vw,5.6rem)}.hero p{max-width:560px;margin:24px 0;color:var(--muted);font-size:1.15rem}.hero-actions,.success-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:0 22px;font-weight:750;transition:.16s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--wine);color:#fff;box-shadow:0 12px 30px rgba(117,185,104,.24)}.button.primary:hover{background:var(--wine-dark)}.button.secondary{border-color:var(--wine);background:transparent;color:var(--wine)}.button.full{width:100%}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.hero-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:var(--muted);font-size:.9rem}.hero-art{position:relative;min-height:420px}.bottle{position:absolute;display:grid;place-items:end center;border-radius:70px 70px 38px 38px;color:rgba(255,255,255,.86);box-shadow:var(--shadow);overflow:hidden}.bottle:before{content:"";position:absolute;top:-34px;width:40%;height:72px;border-radius:10px;background:#2c2022}.bottle:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.28);border-radius:inherit}.bottle span{position:relative;z-index:2;margin-bottom:54px;font-weight:800;letter-spacing:.18em}.bottle-one{width:220px;height:330px;right:43%;bottom:18px;background:linear-gradient(160deg,#f4b9d5,#d884af);transform:rotate(-8deg)}.bottle-two{width:250px;height:380px;right:6%;bottom:-5px;background:linear-gradient(160deg,#b8dda9,#69a965);transform:rotate(6deg)}.category-section,.products-section,.how-section{padding:62px 0}.category-section{padding-bottom:20px}.category-section h2,.how-section h2{font-size:clamp(2rem,4vw,3.4rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem)}.section-heading p{color:var(--muted)}.category-chips{display:flex;gap:10px;overflow-x:auto;padding:18px 0 8px}.category-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:11px 18px;background:#fff}.category-chip.active{border-color:var(--wine);background:var(--wine);color:#fff}.loading-card,.empty-state{padding:48px 24px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.18s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-card-image{width:100%;aspect-ratio:1;border:0;padding:0;overflow:hidden;background:#f4ece7}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:.25s}.product-card:hover .product-card-image img{transform:scale(1.03)}.product-card-body{padding:18px}.product-card-category{color:var(--wine);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-card h3{min-height:52px;margin:8px 0 6px;font-size:1.05rem}.product-card-price{display:flex;align-items:baseline;gap:4px;margin-bottom:16px}.product-card-price small{color:var(--muted)}.product-card .button{width:100%;min-height:42px}.product-badge{position:absolute;z-index:2;top:14px;left:14px;padding:7px 10px;border-radius:999px;background:var(--wine);color:#fff;font-size:.72rem;font-weight:800}.how-section{background:var(--wine-dark);color:#fff}.how-section .eyebrow{color:var(--rose)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.how-grid article{padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.05)}.how-grid strong{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--rose);color:var(--wine-dark)}.how-grid h3{margin:18px 0 6px}.how-grid p{margin:0;color:rgba(255,255,255,.72)}.site-footer{background:#24352a;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding:52px 0}.footer-grid img{width:170px}.footer-grid p,.footer-grid a,.footer-grid button{display:block;margin:8px 0;border:0;padding:0;background:transparent;color:rgba(255,255,255,.68);text-align:left}.footer-grid a:hover,.footer-grid button:hover{color:#fff;text-decoration:underline}.footer-grid h3{margin-top:0}.footer-bottom{padding:18px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);text-align:center;font-size:.84rem}.whatsapp-float{position:fixed;z-index:38;right:20px;bottom:20px;border:0;border-radius:999px;padding:13px 18px;background:#1f9d62;color:#fff;font-weight:800;box-shadow:0 14px 38px rgba(31,157,98,.28)}.overlay{position:fixed;z-index:80;inset:0;background:rgba(36,53,42,.55);backdrop-filter:blur(5px)}.drawer{position:fixed;z-index:90;top:0;right:0;width:min(440px,100%);height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:#fff;box-shadow:-20px 0 70px rgba(36,53,42,.22)}.drawer-header{display:flex;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.drawer-header h2{margin:0}.close-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.6rem}.cart-items{overflow-y:auto;padding:10px 24px}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item img{width:72px;height:72px;border-radius:14px;object-fit:cover}.cart-item h3{margin:0 0 4px;font-size:.98rem}.cart-item p{margin:0;color:var(--muted);font-size:.86rem}.cart-item-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.cart-item-actions button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff}.cart-remove{align-self:start;border:0;background:transparent;color:var(--danger)}.cart-empty{padding:60px 24px;text-align:center}.drawer-summary{padding:22px 24px 28px;border-top:1px solid var(--line);background:var(--cream)}.drawer-summary>div{display:flex;justify-content:space-between;margin-bottom:8px;font-size:1.05rem}.drawer-summary small{display:block;margin-bottom:18px;color:var(--muted)}.modal{position:fixed;z-index:92;top:50%;left:50%;width:min(920px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;transform:translate(-50%,-50%);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.modal-close{position:absolute;z-index:3;top:18px;right:18px}.product-modal-grid{display:grid;grid-template-columns:1fr 1fr}.product-modal-image{min-height:560px;background:#f3e9e2}.product-modal-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:clamp(12px,2vw,24px);background:#f3e9e2}.product-modal-info{padding:70px 46px 44px}.product-modal-info h2{font-size:2.7rem}.product-modal-info p{color:var(--muted)}.field{display:grid;gap:7px;margin:18px 0}.field span,.receive-options legend{font-size:.84rem;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 14px;outline:0;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(117,185,104,.16)}.quantity{display:inline-grid;grid-template-columns:42px 48px 42px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:999px}.quantity button{height:42px;border:0;background:#fff}.quantity output{text-align:center;font-weight:800}.product-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px}.product-modal-footer strong{font-size:1.45rem}.stock-message{font-size:.86rem}.checkout-modal{width:min(1060px,calc(100% - 28px))}.checkout-grid{display:grid;grid-template-columns:1.35fr .65fr}.checkout-grid>form{padding:52px}.checkout-summary{padding:52px 34px;background:var(--cream)}.checkout-summary h3{margin-top:0;font-size:1.5rem}.checkout-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.summary-line{display:flex;justify-content:space-between;padding:13px 0}.summary-line.total{margin-top:8px;border-top:1px solid var(--line);font-size:1.15rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.full-field{grid-column:1/-1}.receive-options{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;border:1px solid var(--line);border-radius:16px;padding:16px}.receive-options legend{padding:0 6px}.form-error{padding:12px 14px;border-radius:12px;background:#fff1f0;color:var(--danger)}.success-modal{width:min(560px,calc(100% - 28px));padding:46px;text-align:center}.success-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 22px;border-radius:50%;background:#dcfce8;color:var(--success);font-size:2rem;font-weight:900}.pix-card{display:grid;gap:7px;margin:24px 0;border-radius:18px;padding:22px;background:var(--cream)}.pix-card span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.pix-card code{overflow-wrap:anywhere;color:var(--wine);font-weight:800}.success-actions{justify-content:center}.text-button{margin-top:18px;border:0;background:transparent;color:var(--wine);text-decoration:underline}.toast{position:fixed;z-index:120;left:50%;bottom:26px;transform:translateX(-50%);max-width:calc(100% - 32px);border-radius:999px;padding:12px 18px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
@media(max-width:960px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.bottle-one{width:170px;height:270px}.bottle-two{width:190px;height:310px}}
@media(max-width:760px){.announcement{font-size:.76rem}.header-inner{min-height:68px;grid-template-columns:1fr auto auto;gap:8px}.brand img{width:142px}.mobile-search{display:inline-block}.search-form{position:absolute;top:68px;left:16px;right:16px;display:none;box-shadow:var(--shadow)}.search-form.open{display:flex}.cart-button>span:nth-child(2){display:none}.hero{padding-top:40px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-art{min-height:320px}.bottle-one{right:48%}.bottle-two{right:13%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-body{padding:14px}.product-card h3{min-height:48px;font-size:.96rem}.section-heading{align-items:start;flex-direction:column}.how-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.product-modal-grid,.checkout-grid{grid-template-columns:1fr}.product-modal-image{min-height:320px;max-height:400px}.product-modal-info,.checkout-grid>form,.checkout-summary{padding:34px 22px}.product-modal-info h2{font-size:2.1rem}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.success-modal{padding:38px 22px}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.hero h1{font-size:2.65rem}.hero-points{display:grid;gap:8px}.product-modal-footer{align-items:stretch;flex-direction:column}}

/* sincronizacao-catalogo-e-logo-responsiva-20260729 */
.header-inner{min-height:clamp(90px,6.5vw,112px);grid-template-columns:minmax(220px,320px) minmax(260px,1fr) auto;gap:clamp(14px,2vw,28px)}
.brand{display:flex;align-items:center;min-width:0}
.brand img{width:clamp(220px,20vw,320px);height:auto}
.footer-grid img{width:clamp(210px,18vw,290px);height:auto}
.cart-item-actions button:disabled{cursor:not-allowed;opacity:.4}
.cart-item small{display:block;margin-top:5px;color:var(--muted);font-size:.76rem}
@media(max-width:960px) and (min-width:761px){.header-inner{grid-template-columns:minmax(210px,240px) minmax(220px,1fr) auto;gap:14px}.brand img{width:clamp(210px,27vw,240px)}}
@media(max-width:760px){.header-inner{min-height:84px;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.brand img{width:clamp(165px,52vw,215px);height:auto}.search-form{top:84px}.footer-grid img{width:clamp(200px,58vw,250px)}}
@media(max-width:380px){.header-inner{min-height:80px}.brand img{width:158px}.search-form{top:80px}.cart-button{gap:5px}.cart-button strong{min-width:22px;height:22px}}
@media(min-width:1600px){.header-inner{min-height:116px}.brand img{width:330px}}

/* BEGIN animacao-logo-essencia-sh-20260730 */
.brand {
  isolation: isolate;
  outline: none;
}

.brand img {
  transform-origin: 18% 50%;
  backface-visibility: hidden;
  animation: essencia-logo-entrada 900ms cubic-bezier(.2,.82,.2,1) 80ms backwards;
  transition: transform 240ms ease, filter 240ms ease;
}

@keyframes essencia-logo-entrada {
  0% {
    opacity: 0;
    transform: translate3d(-10px,8px,0) scale(.94) rotate(-1.2deg);
    filter: blur(2px);
  }
  62% {
    opacity: 1;
    transform: translate3d(2px,-2px,0) scale(1.018) rotate(.2deg);
    filter: blur(0);
  }
  82% {
    transform: translate3d(-1px,1px,0) scale(.995) rotate(-.1deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1) rotate(0);
    filter: blur(0);
  }
}

@media (hover:hover) and (pointer:fine) {
  .brand:hover img {
    transform: translate3d(0,-2px,0) scale(1.025);
    filter: drop-shadow(0 8px 13px rgba(216,132,175,.18)) drop-shadow(0 5px 10px rgba(117,185,104,.14));
  }
}

.brand:focus-visible {
  border-radius: 12px;
  box-shadow: 0 0 0 3px rgba(117,185,104,.28);
}

.brand:active img {
  transform: scale(.985);
}

@media (max-width:760px) {
  .brand img {
    animation-duration: 760ms;
  }
}

@media (prefers-reduced-motion:reduce) {
  .brand img {
    animation: none;
    transition: none;
  }
  .brand:hover img,
  .brand:active img {
    transform: none;
    filter: none;
  }
}
/* END animacao-logo-essencia-sh-20260730 */

/* BEGIN aviso-entrega-fim-de-semana-20260730 */
.success-delivery-notice {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: -6px 0 24px;
  padding: 16px 18px;
  border: 1px solid rgba(117, 185, 104, .38);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(117, 185, 104, .12), rgba(244, 185, 213, .16));
  color: var(--ink);
  text-align: left;
}

.success-delivery-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(117, 185, 104, .18);
  font-size: 1.15rem;
  line-height: 1;
}

.success-delivery-notice strong {
  display: block;
  margin: 1px 0 4px;
  color: var(--wine-dark);
  font-size: .96rem;
}

.success-delivery-notice p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.45;
}

@media (max-width: 420px) {
  .success-delivery-notice {
    gap: 10px;
    padding: 14px;
  }

  .success-delivery-icon {
    width: 36px;
    height: 36px;
  }
}
/* END aviso-entrega-fim-de-semana-20260730 */

/* BEGIN galeria-produto-20260730 */
.product-gallery {
  position: relative;
  min-width: 0;
  overflow: hidden;
  touch-action: pan-y;
}

.product-gallery-track {
  position: absolute;
  inset: 0;
  background: #f3e9e2;
}

.product-gallery-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: scale(1.018);
  transition: opacity 420ms ease, transform 620ms ease;
  pointer-events: none;
}

.product-gallery-slide.active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
}

.product-gallery-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: rgba(255,255,255,.88);
  color: var(--ink);
  box-shadow: 0 10px 28px rgba(48,43,46,.18);
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
}

.product-gallery-arrow:hover { background: #fff; }
.product-gallery-prev { left: 18px; }
.product-gallery-next { right: 18px; }

.product-gallery-dots {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 24px rgba(48,43,46,.14);
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
}

.product-gallery-dots button {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: rgba(48,43,46,.32);
  transition: width 180ms ease, background 180ms ease;
}

.product-gallery-dots button.active {
  width: 24px;
  border-radius: 999px;
  background: var(--wine);
}

@media(max-width:760px) {
  .product-gallery-arrow { width: 40px; height: 40px; font-size: 1.7rem; }
  .product-gallery-prev { left: 12px; }
  .product-gallery-next { right: 12px; }
  .product-gallery-dots { bottom: 12px; }
}

@media(prefers-reduced-motion:reduce) {
  .product-gallery-slide { transition: none; }
}
/* END galeria-produto-20260730 */



/* BEGIN aniversarios-cliente-20260730 */
.birthday-invite {
  width: min(100%, 566px);
  margin: 22px auto 0;
  border: 1px solid rgba(117,185,104,.48);
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(135deg,rgba(237,249,242,.9),rgba(255,248,251,.96));
  text-align: left;
}
.birthday-invite-heading { display: flex; align-items: flex-start; gap: 12px; }
.birthday-invite-heading > span { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: rgba(117,185,104,.18); font-size: 1.25rem; }
.birthday-invite-heading strong { display: block; margin: 1px 0 4px; color: var(--wine-dark); }
.birthday-invite-heading p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.48; }
.birthday-fields { display: grid; grid-template-columns: .7fr 1.3fr; gap: 10px; margin-top: 16px; }
.birthday-fields label { display: grid; gap: 6px; color: var(--ink); font-size: .78rem; font-weight: 800; }
.birthday-fields select { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 11px 12px; background: #fff; color: var(--ink); }
.birthday-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 13px; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.birthday-consent input { flex: 0 0 auto; margin-top: 3px; }
.birthday-save { width: 100%; margin-top: 14px; }
.birthday-message { margin: 12px 0 0; border-radius: 10px; padding: 10px 12px; font-size: .82rem; }
.birthday-message.success { background: #edf9f2; color: #257142; }
.birthday-message.error { background: #fff1f0; color: #a52a2a; }
.birthday-form.birthday-saved .birthday-fields,.birthday-form.birthday-saved .birthday-consent { display: none; }
@media(max-width:420px){.birthday-fields{grid-template-columns:1fr}.birthday-invite{padding:15px}.birthday-invite-heading{gap:10px}}
/* END aniversarios-cliente-20260730 */

/* BEGIN modal-ajustado-proporcao-imagem-20260731 */
#product-modal {
  width: min(var(--product-modal-width, 920px), calc(100% - 28px));
  overflow-x: hidden;
}

#product-modal .product-modal-grid {
  grid-template-columns: var(--product-media-width, 460px) minmax(0, 1fr);
  align-items: start;
}

#product-modal .product-modal-image {
  width: var(--product-media-width, 460px);
  height: var(--product-media-height, 640px);
  min-height: 0;
  max-height: none;
  align-self: center;
  overflow: hidden;
  background: transparent;
}

#product-modal .product-gallery-track {
  background: transparent;
}

#product-modal .product-gallery-slide {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

@media(max-width:760px) {
  #product-modal {
    width: min(680px, calc(100% - 20px));
  }

  #product-modal .product-modal-grid {
    grid-template-columns: 1fr;
  }

  #product-modal .product-modal-image {
    width: 100%;
    height: auto;
    min-height: 280px;
    max-height: none;
    aspect-ratio: var(--product-image-ratio, 1);
  }

  #product-modal .product-modal-info {
    padding: 34px 22px;
  }
}
/* END modal-ajustado-proporcao-imagem-20260731 */

/* BEGIN modal-mobile-compacto-essencia-sh-20260731 */
@media (max-width: 760px) {
  #product-modal {
    width: calc(100% - 10px);
    max-width: 680px;
    max-height: calc(100dvh - 10px);
    border-radius: 24px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  #product-modal .product-modal-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  #product-modal .product-modal-image {
    width: 100%;
    height: clamp(250px, 43dvh, 360px);
    min-height: 250px;
    max-height: 360px;
    aspect-ratio: auto;
    border-radius: 24px 24px 0 0;
    background: #f3e9e2;
  }

  #product-modal .product-gallery-track,
  #product-modal .product-gallery-slide {
    width: 100%;
    height: 100%;
  }

  #product-modal .product-gallery-slide {
    object-fit: contain;
    object-position: center;
    padding: 0;
  }

  #product-modal .modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 12;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 22px rgba(41, 31, 33, .14);
    backdrop-filter: blur(8px);
  }

  #product-modal .product-gallery-arrow {
    width: 46px;
    height: 46px;
  }

  #product-modal .product-gallery-prev {
    left: 12px;
  }

  #product-modal .product-gallery-next {
    right: 12px;
  }

  #product-modal .product-gallery-dots {
    bottom: 10px;
  }

  #product-modal .product-modal-info {
    padding: 24px 20px 26px;
  }

  #product-modal .product-modal-info h2 {
    margin-top: 8px;
    font-size: clamp(1.65rem, 7.4vw, 2.15rem);
    line-height: 1.04;
  }

  #product-modal .product-modal-info > p {
    margin: 12px 0 0;
    font-size: .95rem;
    line-height: 1.45;
  }

  #product-modal .field {
    gap: 7px;
    margin: 16px 0 14px;
  }

  #product-modal .field select {
    min-height: 52px;
    font-size: 1rem;
  }

  #product-modal .quantity {
    grid-template-columns: 44px 50px 44px;
  }

  #product-modal .quantity button {
    height: 44px;
  }

  #product-modal .product-modal-footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin-top: 18px;
  }

  #product-modal .product-modal-footer strong {
    font-size: 1.5rem;
    white-space: nowrap;
  }

  #product-modal .product-modal-footer .button {
    width: 100%;
    min-height: 52px;
    padding-inline: 18px;
  }

  #product-modal .stock-message {
    margin: 14px 0 0;
    font-size: .88rem;
  }
}

@media (max-width: 390px) {
  #product-modal {
    width: calc(100% - 6px);
    max-height: calc(100dvh - 6px);
    border-radius: 20px;
  }

  #product-modal .product-modal-image {
    height: clamp(235px, 40dvh, 315px);
    min-height: 235px;
    max-height: 315px;
    border-radius: 20px 20px 0 0;
  }

  #product-modal .product-modal-info {
    padding: 21px 17px 23px;
  }

  #product-modal .product-modal-footer {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  #product-modal .product-modal-footer .button {
    min-height: 50px;
  }
}

@media (max-width: 760px) and (max-height: 620px) {
  #product-modal .product-modal-image {
    height: 230px;
    min-height: 230px;
    max-height: 230px;
  }

  #product-modal .product-modal-info {
    padding-top: 20px;
  }
}
/* END modal-mobile-compacto-essencia-sh-20260731 */

/* BEGIN modal-mobile-largura-total-sem-corte-essencia-sh-20260731 */
@media (max-width: 760px) {
  #product-modal .product-modal-image {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: var(--product-image-ratio, 0.66);
    background: #C6CEF3;
  }

  #product-modal .product-gallery-track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #C6CEF3;
  }

  #product-modal .product-gallery-slide {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 0;
    background: transparent;
  }
}
/* END modal-mobile-largura-total-sem-corte-essencia-sh-20260731 */

/* BEGIN identidade-sem-subtitulo-e-categorias-auto-essencia-sh-20260804 */
.category-chips {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.category-chips::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@media (max-width: 760px) {
  .header-inner {
    padding-top: 8px;
    padding-bottom: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-content: center;
  }

  .brand {
    grid-column: 1;
    grid-row: 1;
  }

  .mobile-search {
    grid-column: 2;
    grid-row: 1;
  }

  .cart-button {
    grid-column: 3;
    grid-row: 1;
  }

  .search-form {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0 0 4px;
    box-shadow: 0 12px 28px rgba(105, 72, 90, .14);
  }

  .search-form.open {
    display: flex;
  }

  .category-chips {
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
  }

  .category-chip {
    flex: 0 0 clamp(138px, 44vw, 190px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    text-align: center;
  }
}
/* END identidade-sem-subtitulo-e-categorias-auto-essencia-sh-20260804 */

/* BEGIN categorias-grade-mobile-essencia-sh-20260805 */
.category-helper {
  margin: 10px 0 2px;
  color: var(--muted);
  font-size: .95rem;
}

@media (max-width: 760px) {
  .category-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    padding: 16px 0 8px;
    scroll-snap-type: none;
    scroll-padding-inline: 0;
    overscroll-behavior-x: auto;
  }

  .category-chip {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 12px;
    white-space: normal;
    line-height: 1.2;
    text-align: center;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  .category-chip:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
/* END categorias-grade-mobile-essencia-sh-20260805 */
