/* Scoped styles: do not alter Elementor, Astra, or WooCommerce widgets. */
.rosetta-bf { --rosetta-bf-color: #89163f; display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; width: auto; }
.rosetta-bf-trigger { appearance: none !important; -webkit-appearance: none !important; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 9px !important; margin: 0 !important; border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; color: var(--rosetta-bf-color) !important; cursor: pointer; line-height: 1; transition: background-color .2s ease, transform .2s ease; }
.rosetta-bf-trigger:hover, .rosetta-bf-trigger:focus-visible { background: #f8ecf0 !important; color: var(--rosetta-bf-color) !important; transform: translateY(-1px); }
.rosetta-bf-trigger:focus-visible, .rosetta-bf-close:focus-visible, .rosetta-bf-submit:focus-visible, .rosetta-bf-view-all:focus-visible { outline: 2px solid var(--rosetta-bf-color) !important; outline-offset: 3px; }
.rosetta-bf-trigger svg { width: 23px; height: 23px; display: block; }
body.rosetta-bf-body-lock { overflow: hidden !important; }
.rosetta-bf-overlay[hidden], .rosetta-bf-view-all[hidden] { display: none !important; }
.rosetta-bf-overlay { --rosetta-bf-color: #89163f; position: fixed !important; inset: 0 !important; z-index: 2147483000 !important; display: flex !important; justify-content: center; align-items: flex-start; padding: min(13vh, 110px) 18px 25px; overflow-y: auto; background: rgba(30, 15, 26, .63) !important; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); box-sizing: border-box; animation: rosetta-bf-fade .16s ease both; }
.rosetta-bf-overlay, .rosetta-bf-overlay * { box-sizing: border-box; }
.rosetta-bf-dialog { position: relative; background: #fffefa !important; color: #271b20 !important; width: 100%; max-width: 720px; padding: 42px 36px 25px; border-radius: 24px; box-shadow: 0 25px 80px rgba(12, 1, 7, .24); font-family: inherit; animation: rosetta-bf-rise .2s ease both; }
.rosetta-bf-close { appearance: none !important; -webkit-appearance: none !important; position: absolute; right: 19px; top: 17px; display: flex !important; justify-content: center; align-items: center; width: 36px; height: 36px; min-width: 36px; min-height: 36px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #f6ebef !important; color: var(--rosetta-bf-color) !important; cursor: pointer; box-shadow: none !important; }
.rosetta-bf-close:hover { background: #f0d9e3 !important; color: var(--rosetta-bf-color) !important; }
.rosetta-bf-kicker { font-size: 10px !important; letter-spacing: 2.4px; font-weight: 800 !important; color: var(--rosetta-bf-color) !important; text-align: center; margin: 0 30px 9px; }
.rosetta-bf-title { font-size: clamp(23px, 3vw, 32px) !important; font-weight: 800 !important; line-height: 1.22 !important; letter-spacing: -.7px; color: #361923 !important; text-align: center; margin: 0 0 8px !important; padding: 0 !important; }
.rosetta-bf-description { font-size: 14px !important; line-height: 1.6 !important; text-align: center; color: #7d6d72 !important; margin: 0 0 26px !important; }
.rosetta-bf-form { background: #fff !important; border: 1px solid #e7cbd6 !important; box-shadow: 0 4px 18px rgba(137,22,63,.045) !important; border-radius: 12px; padding: 6px 6px 6px 16px; margin: 0 !important; display: flex; align-items: center; gap: 12px; width: 100%; }
.rosetta-bf-form:focus-within { border-color: var(--rosetta-bf-color) !important; box-shadow: 0 0 0 3px rgba(137,22,63,.085) !important; }
.rosetta-bf-search-icon { display: flex; align-items: center; color: var(--rosetta-bf-color); flex-shrink: 0; }
.rosetta-bf-input { flex: 1; min-width: 0 !important; width: 100% !important; border: none !important; outline: none !important; box-shadow: none !important; background: transparent !important; font-family: inherit !important; font-size: 15px !important; line-height: 1.6 !important; color: #261b21 !important; padding: 10px 0 !important; margin: 0 !important; border-radius: 0 !important; height: auto !important; }
.rosetta-bf-input::placeholder { color: #998e92; opacity: 1; }
.rosetta-bf-input:focus { outline: none !important; box-shadow: none !important; border: none !important; }
.rosetta-bf-input::-webkit-search-cancel-button { cursor: pointer; }
.rosetta-bf-submit { display: inline-flex !important; gap: 11px; align-items: center; justify-content: center; flex-shrink: 0; width: auto !important; min-height: 43px; padding: 12px 18px !important; border-radius: 9px !important; border: 0 !important; background: var(--rosetta-bf-color) !important; color: white !important; font-family: inherit !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important; box-shadow: none !important; cursor: pointer; }
.rosetta-bf-submit:hover { background: #6b1030 !important; color: white !important; }
.rosetta-bf-results { margin-top: 15px; min-height: 36px; }
.rosetta-bf-status { padding: 9px 2px; color: #857980 !important; font-size: 12px !important; line-height: 1.5 !important; margin: 0 !important; }
.rosetta-bf-items { display: grid; grid-template-columns: 1fr; gap: 5px; }
.rosetta-bf-item { display: flex; align-items: center; gap: 13px; width: 100%; border-radius: 10px; padding: 8px 10px; text-decoration: none !important; color: #261a20 !important; transition: background-color .15s ease; }
.rosetta-bf-item:hover, .rosetta-bf-item:focus-visible { background: #faeff3 !important; color: #261a20 !important; outline: none; }
.rosetta-bf-thumb { flex-shrink: 0; width: 57px; height: 57px; border-radius: 8px; object-fit: cover; background: #f6ecf0; }
.rosetta-bf-item-body { flex: 1; min-width: 0; }
.rosetta-bf-item-name { display: block; color: #38212b !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.35; }
.rosetta-bf-item-price { display: block; margin-top: 5px; color: var(--rosetta-bf-color) !important; font-size: 13px !important; font-weight: 700 !important; }
.rosetta-bf-item-price del { color: #a19a9d; font-weight: 400; margin-right: 5px; }
.rosetta-bf-item-price ins { text-decoration: none; }
.rosetta-bf-item-arrow { color: var(--rosetta-bf-color); font-size: 20px; padding: 0 7px; }
.rosetta-bf-view-all { display: block; width: 100%; padding: 12px 5px !important; margin: 10px 0 0 !important; border: 0 !important; border-top: 1px solid #f0e0e6 !important; border-radius: 0 !important; background: transparent !important; text-align: center; color: var(--rosetta-bf-color) !important; font-family: inherit !important; font-size: 13px !important; font-weight: 800 !important; text-transform: none !important; box-shadow: none !important; cursor: pointer; }
.rosetta-bf-view-all:hover { background: #faeff3 !important; color: var(--rosetta-bf-color) !important; }
.rosetta-bf-footnote { border-top: 1px solid #f1e8eb; margin: 14px 0 0 !important; padding-top: 13px; text-align: center; font-size: 11px !important; color: #a3989d !important; line-height: 1.5 !important; }
.rosetta-bf-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@keyframes rosetta-bf-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rosetta-bf-rise { from { transform: translateY(12px); opacity: .8; } to { transform: translateY(0); opacity: 1; } }
@media (max-width: 600px) {
  .rosetta-bf-overlay { padding: 8vh 12px 22px; align-items: flex-start; }
  .rosetta-bf-dialog { border-radius: 18px; padding: 43px 16px 18px; }
  .rosetta-bf-title { font-size: 23px !important; }
  .rosetta-bf-description { font-size: 12px !important; margin-bottom: 19px !important; }
  .rosetta-bf-form { gap: 8px; padding: 5px 5px 5px 11px; }
  .rosetta-bf-input { font-size: 16px !important; }
  .rosetta-bf-submit { min-height: 41px; padding: 11px 10px !important; font-size: 12px !important; gap: 5px; }
  .rosetta-bf-item { padding: 7px 4px; gap: 10px; }
  .rosetta-bf-thumb { width: 51px; height: 51px; }
  .rosetta-bf-item-name { font-size: 13px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .rosetta-bf-overlay, .rosetta-bf-dialog { animation: none !important; }
  .rosetta-bf-trigger, .rosetta-bf-item { transition: none !important; }
}
