/* Gludo — business directory module */

:root {
    --icon-category: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7h7V4H4v3Zm0 13h7v-7H4v7Zm9 0h7v-7h-7v7Zm0-10h7V4h-7v6Z' fill='%23fff'/%3E%3C/svg%3E");
    --icon-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    --lc-icon-location: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
    --lc-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    --lc-icon-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.435 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z'/%3E%3C/svg%3E");
    --lc-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
    --lc-icon-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95a15.65 15.65 0 0 0-1.38-3.56A8.03 8.03 0 0 1 18.93 8zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56A8.03 8.03 0 0 1 5.08 16zM8.03 8H5.08a8.03 8.03 0 0 1 4.33-3.56A15.65 15.65 0 0 0 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zm3.45-1.54c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56zM16.97 16c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'/%3E%3C/svg%3E");
    --lc-icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'/%3E%3C/svg%3E");
    --lc-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
    --lc-icon-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99 3-1.01v11.7l-3 1.01V6.46zm14 11.08-3 1.01V6.86l3-1.01v11.69z'/%3E%3C/svg%3E");
    --lc-icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E");
    --lc-icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M22 12a10 10 0 1 0-11.5 9.9v-7H7.9V12h2.6V9.8c0-2.6 1.5-4 3.9-4 1.1 0 2.3.2 2.3.2v2.5h-1.3c-1.3 0-1.7.8-1.7 1.6V12h2.9l-.5 2.9h-2.4v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
    --lc-icon-twitter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.9 4H22l-6.8 7.8L22.7 20h-6.1l-4.8-6.2L5.8 20H2.7l7.3-8.4L1.3 4h6.3l4.3 5.6L18.9 4zm-1.1 14.3h1.7L7.1 5.6H5.3l12.5 12.7z'/%3E%3C/svg%3E");
    --lc-icon-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.5 8.7H3.6V20h2.9V8.7zM5 3a1.7 1.7 0 1 0 0 3.4A1.7 1.7 0 0 0 5 3zm4.2 5.7H6.3V20h2.9v-5.8c0-1.5.3-3 2.2-3 1.9 0 1.9 1.8 1.9 3.1V20H16v-6.4c0-3.4-.7-6-4.8-6-1.9 0-3.2 1-3.7 2.1l-.1-1.2z'/%3E%3C/svg%3E");
    --lc-icon-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M21.6 7.2a2.5 2.5 0 0 0-1.8-1.8C18 5 12 5 12 5s-6 0-7.8.4a2.5 2.5 0 0 0-1.8 1.8C2 9 2 12 2 12s0 3 .4 4.8a2.5 2.5 0 0 0 1.8 1.8C6 19 12 19 12 19s6 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8c.4-1.8.4-4.8.4-4.8s0-3-.4-4.8zM10 15.5V8.5l5.5 3.5L10 15.5z'/%3E%3C/svg%3E");
    --lc-icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm10 2H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm-5 3.5A4.5 4.5 0 1 1 7.5 13 4.5 4.5 0 0 1 12 8.5zm0 2A2.5 2.5 0 1 0 14.5 13 2.5 2.5 0 0 0 12 10.5zM17.2 6.8a1 1 0 1 1-1 1 1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
    --lc-icon-snapchat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2c2.2 0 4 1.5 4.5 3.6.8.2 1.5.5 2.1.9-.3 1.5-1.2 2.7-2.4 3.4.3 2.4-.2 4.5-1.5 6.1 1 .4 2.1.5 3.3.2-.5 1.1-1.8 1.9-3.5 2.1-.8 1-2 1.7-3.5 1.7s-2.7-.7-3.5-1.7c-1.7-.2-3-.9-3.5-2.1 1.2.3 2.3.2 3.3-.2-1.3-1.6-1.8-3.7-1.5-6.1-1.2-.7-2.1-1.9-2.4-3.4.6-.4 1.3-.7 2.1-.9C8 3.5 9.8 2 12 2z'/%3E%3C/svg%3E");
    --lc-icon-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16.5 3c.3 2.2 1.5 4.2 3.5 5.4v3.2a7.8 7.8 0 0 1-3.5-.9v6.8a5.5 5.5 0 1 1-5.5-5.5c.3 0 .7 0 1 .1v3.3a2.2 2.2 0 1 0 1.6 2.1V3h1.9z'/%3E%3C/svg%3E");
    --lc-icon-messenger: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.5 2 2 6 2 11.2c0 2.9 1.4 5.5 3.7 7.2V22l3.4-1.9c.9.2 1.9.4 2.9.4 5.5 0 10-4 10-9.2S17.5 2 12 2zm1 12.2-2.6-2.8-5.1 2.8 5.6-6 2.7 2.8 5-2.8-5.6 6z'/%3E%3C/svg%3E");
    --hub-search-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='11' cy='11' r='6.5' stroke='%2364748b' stroke-width='1.8'/%3E%3Cpath d='m16.5 16.5 5 5' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Hub search box */
.gludo-search {
    width: 100%;
    margin: 1.5rem 0 2rem;
}

.gludo-searchHero {
    position: relative;
    border-radius: 20px;
    padding: 1.15rem 1.15rem 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    border: 1px solid #e8eef4;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.gludo-searchHero::before {
    content: "";
    position: absolute;
    inset: -2px;
    background:
        radial-gradient(900px 220px at 0% 0%, rgba(14, 165, 233, 0.12) 0%, rgba(14, 165, 233, 0) 60%),
        radial-gradient(700px 260px at 100% 0%, rgba(99, 102, 241, 0.10) 0%, rgba(99, 102, 241, 0) 62%),
        radial-gradient(640px 260px at 15% 100%, rgba(34, 197, 94, 0.06) 0%, rgba(34, 197, 94, 0) 60%);
    pointer-events: none;
}

.gludo-searchHero__head {
    position: relative;
    margin-bottom: 0.75rem;
}

.gludo-searchHero__title {
    margin: 0;
    font-size: clamp(1.125rem, 2.4vw, 1.375rem);
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.gludo-searchHero__subtitle {
    margin: 0.5rem 0 0;
    color: #475569;
    font-size: 0.875rem;
    line-height: 1.55;
}

.gludo-search__shell {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gludo-search__shell--hero {
    padding: 0.75rem;
    border-color: rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
}

.gludo-search__shell:focus-within {
    border-color: #bfdbfe;
    box-shadow: 0 0 0 0.22rem rgba(3, 88, 184, 0.14), 0 4px 14px rgba(15, 23, 42, 0.05);
}

.gludo-search__icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    flex: 0 0 auto;
}

.gludo-search__icon::before {
    content: "";
    width: 1.15rem;
    height: 1.15rem;
    background-color: #64748b;
    mask-image: var(--hub-search-icon);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: var(--hub-search-icon);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.gludo-search__input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.2;
    padding: 0.65rem 0.15rem;
    color: #0f172a;
}

.gludo-search__input::placeholder {
    color: #94a3b8;
}

.gludo-search__btn {
    flex: 0 0 auto;
    border: 1px solid #024a9c;
    background: #0358b8;
    color: #fff;
    border-radius: 14px;
    padding: 0.65rem 1.1rem;
    font: inherit;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.gludo-search__btn:hover {
    background: #024a9c;
    border-color: #023b7d;
}

@media (max-width: 575.98px) {
    .gludo-searchHero {
        padding: 0.9rem 0.75rem 0.75rem;
        border-radius: 18px;
    }

    .gludo-searchHero__subtitle {
        font-size: 0.8125rem;
    }

    .gludo-search__shell,
    .gludo-search__shell--hero {
        flex-wrap: wrap;
        padding: 0.55rem;
        border-radius: 16px;
    }

    .gludo-search__icon {
        width: 40px;
        height: 40px;
        border-radius: 13px;
    }

    .gludo-search__btn {
        width: 100%;
        padding: 0.7rem 1rem;
    }
}

.directory-page {
    padding-bottom: 2rem;
}

.directory-page__header h1 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin-bottom: 0.75rem;
}

.directory-page__intro {
    color: var(--gludo-muted);
    line-height: 1.7;
    max-width: 72ch;
}

.directory-section {
    margin-bottom: 2rem;
}

.directory-countries {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
}

.directory-country-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    padding: 1rem;
    color: inherit;
}

.directory-country-card span {
    font-size: 0.85rem;
    color: var(--gludo-muted);
    background: var(--gludo-bg);
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.directory-country-flag {
    border-radius: 2px;
    vertical-align: middle;
}

.directory-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1.5rem;
}

.directory-layout__title {
    font-size: 1.2rem;
    margin: 0 0 1rem;
}

.directory-list,
.directory-featured {
    display: grid;
    gap: 1rem;
}

.directory-featured {
    margin-bottom: 1.25rem;
}

.directory-featured h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    color: var(--gludo-accent);
}

.directory-list-item {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 1rem;
    padding: 1rem;
}

.directory-list-item--featured {
    border: 1px solid color-mix(in srgb, var(--gludo-accent) 35%, var(--gludo-border));
    background: color-mix(in srgb, var(--gludo-accent) 6%, var(--gludo-surface));
}

.directory-list-item__logo {
    width: 96px;
    height: 96px;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gludo-border);
}

.directory-list-item__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
}

.directory-list-item__title {
    font-size: 1.05rem;
    margin: 0 0 0.35rem;
}

.directory-list-item__title a {
    color: var(--gludo-primary-dark);
}

.directory-list-item__meta,
.directory-list-item__address {
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    color: var(--gludo-muted);
}

.directory-list-item__badge {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gludo-primary);
    background: rgba(11, 61, 79, 0.08);
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.directory-rating {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.35rem 0;
}

.directory-rating__track {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    direction: ltr;
    line-height: 1;
    flex-shrink: 0;
}

.directory-rating__empty,
.directory-rating__fill {
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.directory-rating__empty::before {
    content: "★★★★★";
    color: #d0d5dd;
}

.directory-rating__fill {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    overflow: hidden;
}

.directory-rating__fill::before {
    content: "★★★★★";
    color: #f59e0b;
}

.directory-rating--lg a {
    font-size: 0.85rem;
}

.directory-filters,
.directory-categories {
    padding: 1rem;
    position: sticky;
    top: calc(var(--gludo-header-height) + 1rem);
}

/* Sidebar navigation */
.directory-sidebar {
    padding: 0;
    overflow: hidden;
    position: sticky;
    top: calc(var(--gludo-header-height) + 1rem);
}

.directory-sidebar__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(135deg, rgba(11, 61, 79, 0.1), rgba(11, 61, 79, 0.03));
    border-bottom: 1px solid var(--gludo-border);
}

.directory-sidebar__head-text {
    min-width: 0;
}

.directory-sidebar__meta {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    color: var(--gludo-muted);
}

.directory-sidebar__icon {
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    border-radius: 11px;
    background: linear-gradient(145deg, var(--gludo-primary-light), var(--gludo-primary));
    box-shadow: 0 6px 16px rgba(11, 61, 79, 0.22);
    position: relative;
}

.directory-sidebar__icon::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    mask-image: var(--icon-category);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: var(--icon-category);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.directory-sidebar--filters .directory-sidebar__icon::after {
    mask-image: var(--icon-filter);
    -webkit-mask-image: var(--icon-filter);
}

.directory-sidebar__title {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.35;
    color: var(--gludo-primary);
}

.directory-sidebar__body {
    padding: 0.7rem;
}

.directory-sidebar__details {
    margin-top: 0.35rem;
}

.directory-sidebar__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    margin: 0;
    padding: 0.7rem 0.85rem;
    border: 1px dashed var(--gludo-border);
    border-radius: var(--gludo-radius-sm);
    background: var(--gludo-bg);
    color: var(--gludo-primary);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    transition:
        background var(--gludo-transition),
        border-color var(--gludo-transition),
        color var(--gludo-transition);
}

.directory-sidebar__toggle::-webkit-details-marker {
    display: none;
}

.directory-sidebar__toggle::after {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-inline-end: 2px solid currentColor;
    border-block-end: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--gludo-transition);
    margin-top: -0.15rem;
}

html[dir="rtl"] .directory-sidebar__toggle::after {
    transform: rotate(-45deg);
}

.directory-sidebar__details[open] .directory-sidebar__toggle::after {
    transform: rotate(-135deg);
}

html[dir="rtl"] .directory-sidebar__details[open] .directory-sidebar__toggle::after {
    transform: rotate(135deg);
}

.directory-sidebar__toggle:hover {
    background: #fff;
    border-color: var(--gludo-primary);
}

.directory-sidebar__list--more {
    margin-top: 0.35rem;
}

.directory-sidebar__group + .directory-sidebar__group {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px dashed var(--gludo-border);
}

.directory-sidebar__group-title {
    margin: 0 0 0.55rem;
    padding-inline: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gludo-muted);
}

.directory-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.directory-sidebar__link {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border-radius: var(--gludo-radius-sm);
    border: 1px solid transparent;
    text-decoration: none;
    color: var(--gludo-text);
    background: transparent;
    transition:
        background var(--gludo-transition),
        border-color var(--gludo-transition),
        color var(--gludo-transition),
        transform var(--gludo-transition),
        box-shadow var(--gludo-transition);
}

.directory-sidebar__link:hover {
    background: var(--gludo-bg);
    border-color: var(--gludo-border);
    color: var(--gludo-primary);
    transform: translateX(calc(var(--sidebar-hover-shift, -2px) * 1));
    box-shadow: var(--gludo-shadow-sm);
}

html[dir="rtl"] .directory-sidebar__link:hover {
    --sidebar-hover-shift: 2px;
}

.directory-sidebar__label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    line-height: 1.45;
    font-size: 0.9rem;
    font-weight: 500;
}

.directory-sidebar__flag {
    flex-shrink: 0;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
}

.directory-sidebar__count {
    flex-shrink: 0;
    min-width: 2.1rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: var(--gludo-bg);
    color: var(--gludo-primary);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transition:
        background var(--gludo-transition),
        color var(--gludo-transition);
}

.directory-sidebar__link:hover .directory-sidebar__count {
    background: var(--gludo-primary);
    color: #fff;
}

.directory-filters__title,
.directory-categories h2 {
    font-size: 1rem;
    margin: 0 0 0.85rem;
}

.directory-filters__group + .directory-filters__group {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--gludo-border);
}

.directory-filters__group h3 {
    font-size: 0.92rem;
    margin: 0 0 0.55rem;
}

.directory-filters__group ul,
.directory-categories ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.directory-filters__group li + li,
.directory-categories li + li {
    margin-top: 0.45rem;
}

.directory-filters__group a,
.directory-categories a {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.9rem;
    color: var(--gludo-text);
}

.directory-filters__group a span:last-child,
.directory-categories a span:last-child {
    color: var(--gludo-muted);
}

.directory-explore {
    margin-top: 2rem;
}

.directory-explore__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.65rem;
}

.directory-explore__item {
    padding: 0.85rem 1rem;
    color: inherit;
    font-size: 0.9rem;
}

.directory-empty {
    color: var(--gludo-muted);
}

/* Show page */
.directory-show-header {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 1rem;
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.directory-show-header__logo img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    border-radius: 12px;
    border: 1px solid var(--gludo-border);
    background: #fff;
    padding: 0.35rem;
}

.directory-show-header h1 {
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    margin: 0 0 0.5rem;
}

.directory-show-content,
.directory-show-ai,
.directory-show-gallery {
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.directory-show-content__body,
.directory-show-extra,
.directory-show-ai__body {
    line-height: 1.7;
}

.directory-show-extra {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--gludo-border);
}

.directory-show-extra h2 {
    font-size: 1.1rem;
    margin: 0 0 0.65rem;
}

.directory-show-ai__meta {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: var(--gludo-muted);
}

/* Legacy-style listing contact block (ported from gludo.org directory_listing.tpl) */

.listing-contact-shell {
    padding: 1rem 1.15rem 1.15rem;
    margin-bottom: 1rem;
    border-radius: 14px;
    border: 1px solid #e8eef4;
    background: #fff;
}

.listing-contact-heading {
    font-size: 1.35rem;
    color: #0f172a;
    margin: 0 0 1rem;
    border: 0;
}

.listing-contact-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.listing-contact-layout--map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.listing-contact-layout__col {
    min-width: 0;
}

.listing-contact-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.listing-contact-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.listing-contact-card--map {
    padding-bottom: 14px;
    height: 100%;
}

.listing-contact-card__title {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.3;
}

.listing-contact-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e8f1fb;
    color: #0358b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
    --lc-mask: var(--lc-icon-location);
}

.listing-contact-card__icon::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background-color: currentColor;
    mask-image: var(--lc-mask);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: var(--lc-mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.listing-contact-card__icon--location { --lc-mask: var(--lc-icon-location); }
.listing-contact-card__icon--phone { --lc-mask: var(--lc-icon-phone); }
.listing-contact-card__icon--whatsapp {
    --lc-mask: var(--lc-icon-whatsapp);
    color: #128c7e;
}
.listing-contact-card__icon--clock { --lc-mask: var(--lc-icon-clock); }
.listing-contact-card__icon--globe { --lc-mask: var(--lc-icon-globe); }
.listing-contact-card__icon--link { --lc-mask: var(--lc-icon-link); }
.listing-contact-card__icon--calendar { --lc-mask: var(--lc-icon-calendar); }
.listing-contact-card__icon--map { --lc-mask: var(--lc-icon-map); }

.listing-contact-card__body {
    font-size: 14px;
    line-height: 1.65;
    color: #334155;
}

.listing-contact-card__body p {
    margin: 0.35em 0;
}

.listing-contact-muted {
    color: #64748b;
    font-size: 13px;
}

.listing-contact-phone-link,
.listing-contact-website-link {
    color: #0358b8;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    word-break: break-word;
}

.listing-contact-phone-link--whatsapp {
    color: #128c7e;
}

.listing-contact-phone-link:hover,
.listing-contact-website-link:hover {
    text-decoration: underline;
}

.listing-contact-website-link {
    font-size: 14px;
    font-weight: 600;
}

.listing-contact-hours-line {
    margin: 0;
    font-weight: 600;
}

.listing-contact-hours-label {
    color: #64748b;
    font-weight: 600;
    font-size: 13px;
}

.listing-contact-hours-sep {
    color: #94a3b8;
    margin: 0 0.35rem;
}

.listing-contact-website-wrap {
    margin: 0;
    word-break: break-word;
}

.listing-contact-social {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.listing-contact-social__link {
    display: flex;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    line-height: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    color: var(--social-color, #334155);
    text-decoration: none;
    --lc-mask: var(--lc-icon-link);
}

.listing-contact-social__link::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background-color: currentColor;
    mask-image: var(--lc-mask);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: var(--lc-mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.listing-contact-social__link--facebook { --lc-mask: var(--lc-icon-facebook); }
.listing-contact-social__link--twitter { --lc-mask: var(--lc-icon-twitter); }
.listing-contact-social__link--linkedin { --lc-mask: var(--lc-icon-linkedin); }
.listing-contact-social__link--youtube { --lc-mask: var(--lc-icon-youtube); }
.listing-contact-social__link--instagram { --lc-mask: var(--lc-icon-instagram); }
.listing-contact-social__link--snapchat { --lc-mask: var(--lc-icon-snapchat); }
.listing-contact-social__link--tiktok { --lc-mask: var(--lc-icon-tiktok); }
.listing-contact-social__link--messenger { --lc-mask: var(--lc-icon-messenger); }

.listing-contact-social__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

.listing-contact-day-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.listing-contact-chip {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e2e8f0;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.listing-contact-map-frame {
    margin-top: 4px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    line-height: 0;
    background: #e5e7eb;
    min-height: 280px;
}

.listing-contact-map-frame iframe {
    display: block;
    width: 100%;
    vertical-align: middle;
}

.listing-contact-map-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 1rem;
    color: #0358b8;
    font-weight: 700;
    text-decoration: none;
}

.listing-contact-report {
    text-align: end;
    padding-top: 12px;
    margin-top: 4px;
}

.listing-contact-report-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #ca8a04;
    text-decoration: none;
}

.listing-contact-report-link:hover {
    color: #a16207;
}

.listing-contact-report-link__icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    background-color: currentColor;
    mask-image: var(--lc-icon-info);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: var(--lc-icon-info);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.listing-contact-inline-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    margin-inline-end: 0.25rem;
    background-color: #64748b;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.listing-contact-inline-icon--location {
    mask-image: var(--lc-icon-location);
    -webkit-mask-image: var(--lc-icon-location);
}

.directory-show-branches-legacy,
.directory-show-download {
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.directory-show-branches-legacy h3,
.directory-show-branches-legacy h4 {
    margin: 0 0 0.5rem;
}

.directory-show-branch-legacy {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gludo-border);
}

.directory-show-branch-legacy:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.directory-show-branch-legacy p {
    margin: 0;
    color: var(--gludo-muted);
    line-height: 1.6;
}

.directory-show-download h2 {
    font-size: 1.15rem;
    margin: 0 0 0.5rem;
}

.directory-show-download p {
    margin: 0;
    line-height: 1.65;
}

.directory-show-gallery__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.directory-show-gallery__item {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--gludo-border);
    aspect-ratio: 4 / 3;
    background: #eef2f6;
}

.directory-show-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 991px) {
    .directory-layout {
        grid-template-columns: 1fr;
    }

    .directory-filters,
    .directory-categories,
    .directory-sidebar {
        position: static;
    }

    .listing-contact-layout--map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .listing-contact-shell {
        padding-inline: 1rem;
    }

    .listing-contact-layout,
    .listing-contact-layout--map {
        grid-template-columns: 1fr;
    }

    .directory-list-item,
    .directory-show-header {
        grid-template-columns: 72px 1fr;
    }

    .directory-list-item__logo,
    .directory-show-header__logo img {
        width: 72px;
        height: 72px;
    }
}

/* Directory show — page-specific (.ev shared core lives in style.css) */
.page-directory-show .site-main {
    padding-top: var(--gludo-header-height);
    padding-bottom: 0;
    background: #f4f6f8;
}

.ev-profile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, var(--navy, #0e2c3f) 0%, var(--navy-deep, #0a2230) 100%);
}

.ev-profile::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .5;
    background: radial-gradient(120% 140% at 88% -10%, rgba(47, 143, 134, .5), transparent 55%);
}

.ev-profile__inner {
    padding-block: clamp(28px, 5vw, 52px);
    display: flex;
    align-items: center;
    gap: clamp(18px, 3vw, 32px);
    flex-wrap: wrap;
}

.ev-profile__logo {
    flex: none;
    inline-size: clamp(82px, 12vw, 116px);
    aspect-ratio: 1;
    background: #fff;
    border-radius: 20px;
    padding: 10px;
    box-shadow: 0 14px 34px rgba(8, 28, 40, .35);
}

.ev-profile__logo img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    border-radius: 11px;
}

.ev-profile__main {
    flex: 1 1 280px;
    min-inline-size: 0;
}

.ev-profile__eyebrow {
    display: flex;
    align-items: center;
    gap: .55em;
    color: #a9c2cf;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .02em;
    margin: 0;
}

.ev-profile__eyebrow .dot {
    inline-size: 4px;
    block-size: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: .6;
}

.ev-profile__title {
    color: #fff;
    font-weight: 800;
    font-size: clamp(1.45rem, 1rem + 2.3vw, 2.4rem);
    margin-block: .35em .55em;
    text-wrap: balance;
}

.ev-profile__rating {
    display: inline-flex;
    align-items: center;
    gap: .55em;
    color: #eaf2f6;
    font-size: .92rem;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    padding: .4em .9em;
    font-weight: 500;
    text-decoration: none;
}

.ev-profile__rating:hover {
    text-decoration: none;
    background: rgba(255, 255, 255, .18);
    color: #eaf2f6;
}

.ev-profile__rating b {
    font-weight: 800;
    color: #fff;
}

.ev-profile__rating .directory-rating {
    margin: 0;
}

.ev-profile__rating .directory-rating__empty::before {
    color: rgba(255, 255, 255, .35);
}

.ev-profile__rating .directory-rating__fill::before {
    color: #ef8a1e;
}

.ev-sec {
    padding: clamp(20px, 2.4vw, 28px);
}

.ev-sec__title {
    font-size: clamp(1.15rem, 1rem + .7vw, 1.45rem);
    color: var(--ink, #10242f);
    position: relative;
    padding-inline-start: .7em;
    margin-block-end: .7em;
}

.ev-sec__title::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block: .18em;
    inline-size: 4px;
    border-radius: 4px;
    background: var(--amber, #ef8a1e);
}

.ev-map__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-sm, 11px);
    overflow: hidden;
    border: 1px solid var(--border, #e5eaef);
    background: var(--surface-2, #f8fafb);
    margin-block: .4em 1em;
}

.ev-map__frame iframe {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    border: 0;
}

.ev-msg .ev-btn {
    margin-block-start: .4em;
}

@media (min-width: 1000px) {
    .ev-contact {
        position: sticky;
        top: calc(var(--gludo-header-height) + 24px);
    }
}

.ev-contact {
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e5eaef);
    border-radius: var(--radius, 16px);
    box-shadow: var(--shadow-lift, 0 18px 44px rgba(16, 36, 47, .14));
    overflow: hidden;
}

.ev-contact__head {
    padding: 1.15em 1.3em;
    color: #fff;
    background: linear-gradient(135deg, #0e2c3f, #0a2230);
}

.ev-contact__head h2 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.ev-contact__head p {
    color: #9fb6c4;
    font-size: .84rem;
    margin-block-start: .15em;
    margin-block-end: 0;
}

.ev-contact__body {
    padding: 1.25em 1.3em;
    display: flex;
    flex-direction: column;
    gap: 1.1em;
}

.ev-contact__actions {
    display: flex;
    flex-direction: column;
    gap: .55em;
}

.ev-rows {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .95em;
}

.ev-rows li {
    display: flex;
    align-items: flex-start;
    gap: .7em;
    font-size: .92rem;
    color: var(--ink, #10242f);
}

.ev-rows .ev-ic {
    color: var(--teal, #2f8f86);
    margin-block-start: .18em;
}

.ev-rows a {
    color: var(--ink, #10242f);
    font-weight: 600;
    display: block;
}

.ev-rows a:hover {
    color: var(--teal, #2f8f86);
}

.ev-rows small {
    display: block;
    color: var(--muted, #5d6f7b);
    font-weight: 400;
    font-size: .82rem;
    margin-block-start: .1em;
}

.ev-divider {
    block-size: 1px;
    background: var(--border, #e5eaef);
    margin-block: .1em;
}

.ev-field-label {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--muted, #5d6f7b);
    text-transform: uppercase;
    margin-block-end: .55em;
}

.ev-days {
    display: flex;
    flex-wrap: wrap;
    gap: .4em;
}

.ev-days span {
    font-size: .8rem;
    font-weight: 600;
    color: var(--ink, #10242f);
    background: var(--surface-2, #f8fafb);
    border: 1px solid var(--border, #e5eaef);
    border-radius: 8px;
    padding: .32em .7em;
}

.ev-soc {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
}

.ev-soc a {
    inline-size: 40px;
    block-size: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--surface-2, #f8fafb);
    border: 1px solid var(--border, #e5eaef);
    color: #0e2c3f;
    transition: .16s ease;
    text-decoration: none;
}

.ev-soc a:hover {
    background: #0e2c3f;
    color: #fff;
    border-color: #0e2c3f;
    text-decoration: none;
}

.ev-soc .ev-ic {
    stroke: none;
    fill: currentColor;
    inline-size: 1.15em;
    block-size: 1.15em;
}

.ev-contact .engagement-favourite {
    display: contents;
}

.ev-contact .engagement-favourite__btn .ev-ic {
    stroke: #ef8a1e;
}

.ev-contact .engagement-favourite__ack {
    font-size: .82rem;
    color: #2f8f86;
    text-align: center;
}

.ev-contact .engagement-favourite__ack:empty {
    display: none;
}

.ev-report {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-size: .82rem;
    color: #a45a07;
    font-weight: 600;
    text-decoration: none;
}

.ev-report:hover {
    text-decoration: underline;
}

.ev-report .ev-ic {
    inline-size: 1em;
    block-size: 1em;
}

.ev-actionbar {
    display: none;
}

@media (max-width: 999px) {
    .ev-actionbar {
        position: fixed;
        inset-inline: 0;
        inset-block-end: 0;
        z-index: 40;
        display: flex;
        gap: .5em;
        padding: .55em .7em calc(.55em + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .96);
        backdrop-filter: blur(8px);
        border-block-start: 1px solid var(--border, #e5eaef);
        box-shadow: 0 -8px 24px rgba(16, 36, 47, .1);
    }

    body.page-directory-show {
        padding-block-end: calc(66px + env(safe-area-inset-bottom));
    }
}

.ev-actionbar__btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45em;
    font: inherit;
    font-weight: 700;
    font-size: .92rem;
    padding: .7em .4em;
    border-radius: 12px;
    border: 1.5px solid var(--border-strong, #d4dde4);
    background: var(--surface, #fff);
    color: var(--ink, #10242f);
    text-decoration: none;
}

.ev-actionbar__btn:hover {
    text-decoration: none;
}

.ev-actionbar__btn .ev-ic {
    inline-size: 1.15em;
    block-size: 1.15em;
}

.ev-actionbar__btn--call {
    background: #ef8a1e;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 6px 14px rgba(239, 138, 30, .32);
}

/* Vanilla gallery lightbox */
.ev-lightbox[hidden] {
    display: none !important;
}

.ev-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

.ev-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 28, 40, .88);
}

.ev-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 1.5rem;
}

.ev-lightbox__figure {
    margin: 0;
    max-width: min(960px, 100%);
    width: 100%;
}

.ev-lightbox__img {
    width: 100%;
    max-height: calc(100vh - 120px);
    object-fit: contain;
    border-radius: 12px;
    background: #0a2230;
}

.ev-lightbox__caption {
    color: #eaf2f6;
    text-align: center;
    margin-block-start: .75em;
    font-size: .9rem;
}

.ev-lightbox__close,
.ev-lightbox__nav {
    position: fixed;
    border: 0;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    cursor: pointer;
    border-radius: 999px;
    font-size: 1.75rem;
    line-height: 1;
    width: 44px;
    height: 44px;
}

.ev-lightbox__close {
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
}

.ev-lightbox__nav {
    inset-block-start: 50%;
    transform: translateY(-50%);
}

.ev-lightbox__nav--prev {
    inset-inline-start: .75rem;
}

.ev-lightbox__nav--next {
    inset-inline-end: .75rem;
}

.ev-lightbox__nav[hidden] {
    display: none;
}

body.ev-lightbox-open {
    overflow: hidden;
}
