/* Mini brand block on the offer open view (Marti 1.10, resources/views/campaign/brand-mini.blade.php): the firm's brand
 * page in short where the vendor card and the map used to be. A card of its own: logo, name, rating, address, «Jälgi»
 * (OSTA gradient), contact tiles, channels, a link to the full page and the live map as the card's lower edge.
 * Sidebar and phone: one column. Booking layout (.brand-mini--wide) from 768 px: the info beside the map. */
.brand-mini { display: flex; flex-direction: column; margin: 0 0 24px; border: 1px solid var(--bs-border-color, #e2e6e3); border-radius: 22px; overflow: hidden; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); box-shadow: 0 10px 30px rgba(20, 28, 24, .07); font-family: var(--chilli-font, inherit); }
.brand-mini__body { display: grid; gap: 14px; padding: 18px; min-width: 0; }
.brand-mini__head { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brand-mini__logo { flex: none; display: grid; place-items: center; width: 64px; height: 64px; padding: 5px; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--bs-border-color, #e2e6e3); box-shadow: 0 4px 14px rgba(0, 0, 0, .1); }
/* the logo keeps its own shape, centred in the box. Only max sizes: on the phone the block sits inside the offer text
   (.listing-description), whose img rule forces height auto */
.brand-mini .brand-mini__logo img { display: block; width: auto; height: auto; max-width: 100% !important; max-height: 100% !important; margin: 0 !important; border-radius: 0; }
.brand-mini__id { min-width: 0; }
.brand-mini__name { display: block; font-size: 20px; line-height: 1.2; font-weight: 800; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.brand-mini__name:hover { color: #118300; }
.brand-mini__meta { margin: 4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; font-size: 14px; line-height: 1.35; color: var(--bs-secondary-color, #5f6862); }
.brand-mini__rate { white-space: nowrap; }
.brand-mini__rate b { color: var(--bs-body-color, #212529); }
.brand-mini__rate .bi { font-size: .9em; }

/* «Jälgi»: the same button as on the brand page (OSTA gradient + gold bell; following = grey, the bell rings once) */
.brand-mini__follow { width: 100%; height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 15px; background: linear-gradient(135deg, #18AE00 0%, #4CD964 100%); color: #fff; font-family: inherit; font-weight: 800; font-size: 16px; cursor: pointer; box-shadow: 0 6px 16px rgba(24, 174, 0, .22); transition: filter .15s, background .2s, color .2s; }
.brand-mini__follow:hover { filter: brightness(1.05); }
.brand-mini__follow:disabled { cursor: progress; }
.brand-mini__bell { width: 20px; height: 20px; color: #f7c948; flex: none; transform-origin: 50% 12%; }
.brand-mini__follow-n { padding: 2px 8px; border-radius: 10px; background: rgba(255, 255, 255, .22); font-size: 13px; font-weight: 700; }
.brand-mini__follow-n[hidden] { display: none; }
.brand-mini__follow.is-on { background: var(--bs-secondary-bg, #e9ecef); color: var(--bs-body-color, #212529); box-shadow: none; }
.brand-mini__follow.is-on .brand-mini__bell { color: #f59e0b; }
.brand-mini__follow.is-on .brand-mini__follow-n { background: rgba(0, 0, 0, .07); }
.brand-mini__follow.is-ring .brand-mini__bell { animation: brand-mini-bell .9s ease-in-out 1; }
@keyframes brand-mini-bell { 0%, 100% { transform: rotate(0); } 15% { transform: rotate(18deg); } 30% { transform: rotate(-16deg); } 45% { transform: rotate(12deg); } 60% { transform: rotate(-8deg); } 75% { transform: rotate(4deg); } }

/* contact tiles */
.brand-mini__acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; }
.brand-mini__act { display: grid; justify-items: center; gap: 5px; padding: 11px 6px 10px; border-radius: 14px; background: var(--bs-tertiary-bg, #f1f3f2); color: var(--bs-body-color, #212529); text-decoration: none; font-weight: 700; font-size: 13px; min-width: 0; }
.brand-mini__act:hover { background: var(--bs-secondary-bg, #e7ebe8); color: var(--bs-body-color, #212529); }
.brand-mini__act svg { width: 20px; height: 20px; color: #18ae00; }
.brand-mini__act span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* channels + the link to the full page */
.brand-mini__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; }
.brand-mini__soc { display: inline-flex; gap: 7px; }
.brand-mini__net {
    position: relative; width: 32px; height: 32px; border-radius: 50%; display: block;
    background: var(--bs-body-bg, #fff); color: var(--bs-emphasis-color, #1d2420);
    box-shadow: 0 3px 10px rgba(16, 24, 18, .16), 0 1px 2px rgba(16, 24, 18, .08); transition: transform .15s;
}
/* one-colour channel glyphs (Bootstrap Icons, MIT) drawn in the text colour through a mask */
.brand-mini__net::before { content: ""; position: absolute; inset: 0; background-color: currentColor; -webkit-mask: var(--net-glyph) center / 50% no-repeat; mask: var(--net-glyph) center / 50% no-repeat; }
.brand-mini__net:hover { transform: scale(1.1); }
.brand-mini__net--tiktok { --net-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9 0h1.98c.144.715.54 1.617 1.235 2.512C12.895 3.389 13.797 4 15 4v2c-1.753 0-3.07-.814-4-1.829V11a5 5 0 1 1-5-5v2a3 3 0 1 0 3 3z'/%3E%3C/svg%3E"); }
.brand-mini__net--instagram { --net-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.9 3.9 0 0 0-1.417.923A3.9 3.9 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.9 3.9 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.9 3.9 0 0 0-.923-1.417A3.9 3.9 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599s.453.546.598.92c.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.5 2.5 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.5 2.5 0 0 1-.92-.598 2.5 2.5 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233s.008-2.388.046-3.231c.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92s.546-.453.92-.598c.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92m-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217m0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334'/%3E%3C/svg%3E"); }
.brand-mini__net--facebook { --net-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951'/%3E%3C/svg%3E"); }
.brand-mini__net--youtube { --net-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.01 2.01 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.01 2.01 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31 31 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.01 2.01 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A100 100 0 0 1 7.858 2zM6.4 5.209v4.818l4.157-2.408z'/%3E%3C/svg%3E"); }
.brand-mini__net--www { --net-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855q-.215.403-.395.872c.705.157 1.472.257 2.282.287zM4.249 3.539q.214-.577.481-1.078a7 7 0 0 1 .597-.933A7 7 0 0 0 3.051 3.05q.544.277 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9 9 0 0 1-1.565-.667A6.96 6.96 0 0 0 1.018 7.5zm1.4-2.741a12.3 12.3 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332M8.5 5.09V7.5h2.99a12.3 12.3 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.6 13.6 0 0 1 7.5 10.91V8.5zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741zm-3.282 3.696q.18.469.395.872c.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a7 7 0 0 1-.598-.933 9 9 0 0 1-.481-1.079 8.4 8.4 0 0 0-1.198.49 7 7 0 0 0 2.276 1.522zm-1.383-2.964A13.4 13.4 0 0 1 3.508 8.5h-2.49a6.96 6.96 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667m6.728 2.964a7 7 0 0 0 2.275-1.521 8.4 8.4 0 0 0-1.197-.49 9 9 0 0 1-.481 1.078 7 7 0 0 1-.597.933M8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855q.216-.403.395-.872A12.6 12.6 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.96 6.96 0 0 0 14.982 8.5h-2.49a13.4 13.4 0 0 1-.437 3.008M14.982 7.5a6.96 6.96 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zM11.27 2.461q.266.502.482 1.078a8.4 8.4 0 0 0 1.196-.49 7 7 0 0 0-2.275-1.52c.218.283.418.597.597.932m-.488 1.343a8 8 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z'/%3E%3C/svg%3E"); }
.brand-mini__more { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; font-weight: 800; font-size: 14.5px; text-decoration: none; color: #118300; }
.brand-mini__more:hover { color: #0c6500; }
.brand-mini__more .bi { font-size: .8em; }
[data-bs-theme="dark"] .brand-mini__more, [data-bs-theme="dark"] .brand-mini__name:hover { color: #4cd964; }
[data-bs-theme="dark"] .brand-mini__net { box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); }

/* live map: the lower edge of the card, the shared vendor map without its own square and margins */
.brand-mini__map { position: relative; height: 220px; border-top: 1px solid var(--bs-border-color, #e2e6e3); }
.brand-mini__map .vendor-embedded-map { position: absolute !important; inset: 0; margin: 0 !important; }
.brand-mini__map .vendor-embedded-map .chilli-public-map-wrap { position: absolute !important; inset: 0; }
.brand-mini__map .vendor-embedded-map .chilli-public-map-wrap,
.brand-mini__map .vendor-embedded-map .chilli-public-map-inner,
.brand-mini__map .vendor-embedded-map #chilli-public-map-el-vendor { aspect-ratio: auto; height: 100%; min-height: 0 !important; border-radius: 0; }

.brand-mini-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 1080; background: #1f2622; color: #fff; border-radius: 14px; padding: 12px 18px; font-size: 14.5px; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); }

/* booking layout from 768 px: info on the left, the map fills the right half */
@media (min-width: 768px) {
    .brand-mini--wide:not(.brand-mini--nomap) { flex-direction: row; margin-bottom: 50px; }
    .brand-mini--wide:not(.brand-mini--nomap) .brand-mini__body { flex: 1 1 50%; align-content: center; padding: 22px; }
    .brand-mini--wide:not(.brand-mini--nomap) .brand-mini__map { flex: 1 1 50%; height: auto; min-height: 280px; border-top: 0; border-left: 1px solid var(--bs-border-color, #e2e6e3); }
}
@media (prefers-reduced-motion: reduce) {
    .brand-mini__net { transition: none; }
    .brand-mini__follow.is-ring .brand-mini__bell { animation: none; }
}
