.availability { display: inline-block; width: fit-content; margin-top: 7px; font-size: .68rem; letter-spacing: .08em; padding: 5px 8px; background: #eee; color: #333; }
.availability.sold_out { background: #f2dddd; color: #8a2525; }
.availability.preorder { background: #f5e8cf; color: #7a4d0b; }
.availability.coming_soon { background: #dde7f1; color: #284f73; }
.product-note { display: block; color: #716a64; line-height: 1.4; margin-top: 6px; }
.add:disabled { opacity: .55; cursor: not-allowed; }
.section-title #clearCatalogFilters { margin: 18px auto 0; border: 0; border-bottom: 1px solid #171717; background: transparent; padding: 7px 2px; font-size: .72rem; letter-spacing: .08em; cursor: pointer; }
.card .badge { min-width: 48px; text-align: center; font-weight: 800; letter-spacing: .05em; }
.card .price .old { font-size: .78rem; margin-left: 9px; }
.whatsapp-toggle { position: fixed; right: 22px; bottom: 22px; z-index: 80; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 999px; background: #25d366; color: #fff; padding: 12px 17px 12px 12px; box-shadow: 0 8px 30px #0003; cursor: pointer; }
.whatsapp-toggle span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #128c4a; font-size: 17px; }
.whatsapp-toggle b { font-size: .78rem; letter-spacing: .03em; }
.whatsapp-chat { position: fixed; right: 22px; bottom: 88px; z-index: 80; width: min(350px, calc(100vw - 32px)); background: #fff; border: 1px solid #ddd; padding: 24px; box-shadow: 0 18px 55px #0003; opacity: 0; visibility: hidden; transform: translateY(12px); transition: .2s ease; }
.whatsapp-chat.open { opacity: 1; visibility: visible; transform: none; }
.whatsapp-chat strong { display: block; font-family: Georgia, serif; font-size: 1.35rem; padding-right: 25px; }
.whatsapp-chat p { color: #69635e; line-height: 1.55; font-size: .88rem; }
.whatsapp-chat > a { display: block; background: #25d366; color: #fff; text-align: center; padding: 13px 14px; font-size: .74rem; font-weight: 800; letter-spacing: .05em; }
.whatsapp-close { position: absolute; right: 10px; top: 8px; border: 0; background: transparent; font-size: 22px; cursor: pointer; }
.live-chat { width: min(390px, calc(100vw - 32px)); padding: 20px; }
.live-chat > p { margin: 6px 0 12px; }
.chat-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 10px; }
.chat-profile input { min-width: 0; border: 1px solid #ddd5ca; padding: 9px; font-size: .76rem; }
.chat-profile input:last-child { grid-column: 1 / -1; }
.chat-messages { height: 210px; overflow-y: auto; background: #f7f4ef; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.chat-messages > small { color: #817970; margin: auto; }
.chat-bubble { max-width: 84%; padding: 9px 11px; border-radius: 13px 13px 13px 3px; background: #fff; box-shadow: 0 1px 4px #0001; font-size: .8rem; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-bubble.admin { margin-left: auto; background: #2d241e; color: #fff; border-radius: 13px 13px 3px 13px; }
.chat-bubble time { display: block; opacity: .58; font-size: .62rem; margin-top: 4px; }
.chat-form { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin-top: 9px; }
.chat-form textarea { min-height: 56px; max-height: 110px; resize: vertical; border: 1px solid #cfc6bb; padding: 9px; font: inherit; font-size: .8rem; }
.chat-form button { border: 0; background: #2d241e; color: #fff; padding: 8px 13px; font-size: .7rem; font-weight: 800; cursor: pointer; }
.whatsapp-chat > .chat-whatsapp { margin-top: 8px; background: transparent; color: #128c4a; padding: 7px; text-decoration: underline; }
.whatsapp-toggle i { position: absolute; right: 2px; top: -3px; width: 19px; height: 19px; border-radius: 50%; background: #b52d2d; border: 2px solid #fff; }
.whatsapp-toggle { position: fixed; }
@media (max-width: 520px) { .whatsapp-toggle { right: 14px; bottom: 14px; } .whatsapp-toggle b { display: none; } .whatsapp-toggle { padding: 10px; } .whatsapp-chat { right: 16px; bottom: 76px; } }
.collection-nav button { border: 0; background: transparent; color: inherit; padding: 10px 0; cursor: pointer; font-size: 12px; }
.collection-nav button.active { border-bottom: 1px solid currentColor; }
.mega-menu { position: absolute; top: 92px; left: 0; right: 0; z-index: 9; background: #fff; color: #171717; border-bottom: 1px solid #dedbd7; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; box-shadow: 0 18px 35px #00000012; }
.mega-menu.open { opacity: 1; visibility: visible; transform: none; }
.mega-inner { display: grid; grid-template-columns: 1fr 2fr 1fr 1fr; gap: 52px; width: min(1080px, 92vw); margin: 0 auto; padding: 34px 0 40px; }
.mega-menu section { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.mega-menu h3 { width: 100%; margin: 0 0 1px; padding-bottom: 10px; border-bottom: 1px solid #c8c8c8; font-size: 19px; font-weight: 400; }
.mega-menu a { font-size: 15px; cursor: pointer; }
.mega-menu a:hover { text-decoration: underline; }
.mega-menu .wide > div { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; width: 100%; }
.mega-menu .wide p { display: flex; flex-direction: column; gap: 13px; margin: 0; }
.menu-open header { background: #fff; color: #171717; }
@media (max-width: 900px) {
  .collection-nav { display: flex; overflow-x: auto; gap: 18px; }
  .collection-nav button { white-space: nowrap; }
  .mega-menu { top: 75px; position: fixed; max-height: calc(100vh - 75px); overflow: auto; }
  .mega-inner { grid-template-columns: 1fr 1fr; gap: 32px; padding: 28px 0; }
  .mega-menu .wide > div { grid-template-columns: 1fr; gap: 13px; }
}
@media (max-width: 520px) {
  header { grid-template-columns: 1fr auto; }
  header .logo { display: none; }
  .mega-inner { grid-template-columns: 1fr; }
}
