@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
}
@font-face {
    font-family: Fraunces;
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url("../fonts/fraunces-latin.woff2") format("woff2");
}

:root {
    --da-brand: #6c88d3;
    --da-brand-soft: #EEF1FB;
    --da-on-brand: #ffffff;
    --da-bg: #F7F6FC;
    --da-wash: #F1F0F8;
    --da-paper: #ffffff;
    --da-ink: #1E2340;
    --da-muted: #6B6F8C;
    --da-line: #E6E4F2;
    --da-line-soft: #F0EFF7;
    --da-star: #e61736;
    --da-star-empty: #E4E4E6;
    --da-open: #0D8A4A;
    --da-open-bg: #E6F6EE;
    --da-closed: #8A8A90;
    --da-err: #D7263D;
    --da-err-bg: #FDECEE;
    --da-wa: #25D366;
    --da-nav-bg: #ffffff;
    --da-top-bg: #ffffff;
    --da-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --da-display: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --da-safe-top: env(safe-area-inset-top, 0px);
    --da-safe-bottom: env(safe-area-inset-bottom, 0px);
    --da-nav-h: 66px;
    --da-top-h: 56px;
    --da-cta-h: 58px;
    --da-phone: 430px;
    --da-r: 16px;
    --da-r-lg: 20px;
    --da-shadow-nav: 0 -4px 24px rgba(30, 35, 64, 0.06);
    --da-shadow-md: 0 6px 20px rgba(30, 35, 64, 0.07);
    --da-shadow-cta: 0 8px 24px rgba(108, 136, 211, 0.28);
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { background: var(--da-bg); }
body.da-app {
    font-family: var(--da-font);
    color: var(--da-ink);
    background: var(--da-bg);
    min-height: 100dvh;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    overscroll-behavior-y: contain;
}
body.da-app a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; color: inherit; }

.da-frame {
    width: min(100%, var(--da-phone));
    min-height: 100dvh;
    margin: 0 auto;
    background: var(--da-bg);
    position: relative;
    display: flex;
    flex-direction: column;
}

.da-top {
    position: sticky;
    top: 0;
    z-index: 40;
    height: calc(var(--da-top-h) + var(--da-safe-top));
    padding: var(--da-safe-top) 12px 0;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    background: var(--da-top-bg);
    color: var(--da-ink);
    border-bottom: 1px solid var(--da-line-soft);
}
.da-brand {
    font-weight: 700;
    letter-spacing: -.04em;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    color: var(--da-ink);
}
.da-top__title {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--da-ink);
}
.da-top__title.is-skel {
    color: transparent;
    background: var(--da-wash);
    border-radius: 8px;
}
.da-top__space, .da-icon-btn {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
}
.da-icon-btn {
    border: 0; background: transparent; border-radius: 50%; color: var(--da-ink);
}
.da-icon-btn:active { background: var(--da-wash); transform: scale(.96); }
.da-icon-btn svg { width: 22px; height: 22px; }

.da-main {
    flex: 1;
    padding: 20px 20px calc(var(--da-nav-h) + var(--da-safe-bottom) + 20px);
    background: var(--da-bg);
}
body.da-view-home .da-top { display: none; }
body.da-view-home .da-main { padding-top: 16px; }
body.da-view-business .da-top { display: none; }
body.da-view-business .da-main { padding-top: 0; }
body.da-view-listing .da-main,
body.da-view-search .da-main,
body.da-view-favoritos .da-main,
body.da-view-avisos .da-main,
body.da-view-business .da-main {
    background: var(--da-paper);
}
body.da-view-listing .da-chips,
body.da-view-search .da-chips { background: var(--da-paper); }
body.da-no-nav .da-main { padding-bottom: calc(28px + var(--da-safe-bottom)); }
body.da-immersive:has(.da-cta.is-on) .da-main {
    padding-bottom: calc(var(--da-cta-h) + var(--da-safe-bottom) + 20px);
}

.da-nav {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: min(100%, var(--da-phone));
    height: calc(var(--da-nav-h) + var(--da-safe-bottom));
    padding: 6px 8px var(--da-safe-bottom);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--da-nav-bg);
    color: #9A9DB5;
    border-top: 1px solid var(--da-line-soft);
    box-shadow: var(--da-shadow-nav);
    z-index: 50;
}
.da-nav__i {
    position: relative;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px; font-size: 10px; font-weight: 600; color: #9A9DB5;
    min-height: 52px;
    white-space: nowrap;
    border: 0; background: transparent; width: 100%;
    font-family: inherit;
}
.da-nav__i svg { width: 24px; height: 24px; stroke-width: 1.75; }
.da-nav__i.is-active { color: var(--da-brand); }
.da-nav__i.is-active svg { stroke-width: 2.15; }
.da-nav__plus {
    display: inline-flex; align-items: center; justify-content: center;
}
.da-nav__plus svg { width: 22px; height: 22px; }
.da-nav__dot {
    position: absolute; top: 4px; right: 14px; min-width: 16px; height: 16px;
    border-radius: 99px; background: var(--da-err); color: #fff;
    font-size: 10px; font-weight: 700; font-style: normal;
    display: inline-flex; align-items: center; justify-content: center; padding: 0 4px;
}

.da-hero { padding: 8px 0 4px; }
.da-kicker {
    margin: 0 0 6px; color: var(--da-muted); font-size: 13px; font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
.da-hero h2 {
    margin: 0 0 18px;
    font-family: var(--da-font);
    font-size: 28px;
    letter-spacing: -.04em;
    line-height: 1.15;
    font-weight: 650;
    color: var(--da-ink);
}
.da-search {
    display: flex; align-items: center; gap: 10px;
    background: var(--da-wash);
    border-radius: 999px;
    padding: 14px 20px;
}
.da-search svg { width: 20px; height: 20px; color: var(--da-muted); flex: 0 0 auto; }
.da-search input {
    border: 0; outline: 0; background: transparent; width: 100%; font-size: 16px;
}

.da-sec { margin-top: 28px; }
.da-sec__h {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-bottom: 14px;
}
.da-sec__h h3 { margin: 0; font-size: 18px; letter-spacing: -.03em; font-weight: 600; }
.da-sec__h a { font-size: 13px; font-weight: 600; color: var(--da-brand); }

.da-rubros {
    display: flex; gap: 8px; overflow-x: auto;
    margin: 0 -20px; padding: 2px 20px 4px;
    scrollbar-width: none;
}
.da-rubros::-webkit-scrollbar { display: none; }
.da-rubros .da-chip { background: var(--da-paper); border: 1px solid var(--da-line); }

.da-sec--list { margin-left: -20px; margin-right: -20px; }
.da-sec--list .da-sec__h { padding: 0 20px; }
.da-list-paper {
    background: var(--da-paper);
    margin: 0;
    padding: 4px 20px 12px;
    border-radius: 20px 20px 0 0;
}
.da-page-title {
    margin: 0 0 18px;
    font-size: 28px;
    letter-spacing: -.03em;
    font-weight: 650;
}
.da-card-wrap { position: relative; margin-bottom: 0; }
.da-card {
    display: grid; grid-template-columns: 84px 1fr; gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--da-line-soft);
    background: transparent;
}
.da-card:active { opacity: .72; }
.da-card__pic { position: relative; border-radius: 12px; overflow: hidden; background: var(--da-wash); min-height: 84px; }
.da-card__pic img { width: 100%; height: 84px; object-fit: cover; }
.da-card__ph {
    height: 84px; display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 20px; color: var(--da-muted);
    background: var(--da-wash);
}
.da-card__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding-right: 28px; }
.da-card__body strong { font-size: 16px; letter-spacing: -.02em; font-weight: 600; }
.da-card__flags { display: flex; gap: 6px; flex-wrap: wrap; }
.da-card__meta {
    color: var(--da-muted); font-size: 13px;
    display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.da-card__meta svg { display: none; }
.da-card__badge {
    align-self: flex-start; font-size: 10px; font-weight: 700; letter-spacing: .04em;
    text-transform: uppercase; background: var(--da-brand-soft); color: var(--da-brand);
    border-radius: 999px; padding: 3px 8px;
}
.da-card__line {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}

.da-rating { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.da-rating__box { display: inline-flex; align-items: center; gap: 3px; }
.da-sq {
    width: 16px; height: 16px; border-radius: 3px;
    display: inline-block; flex: 0 0 16px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px, 100% 100%;
}
.da-sq.is-full {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 17.3 4.2 21l1.5-8.7L.3 8.7l8.8-1.3L12 0l2.9 7.4 8.8 1.3-6.4 6.3L19.8 21Z'/%3E%3C/svg%3E"),
        linear-gradient(var(--da-star), var(--da-star));
}
.da-sq.is-half {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 17.3 4.2 21l1.5-8.7L.3 8.7l8.8-1.3L12 0l2.9 7.4 8.8 1.3-6.4 6.3L19.8 21Z'/%3E%3C/svg%3E"),
        linear-gradient(to right, var(--da-star) 50%, var(--da-star-empty) 50%);
}
.da-sq.is-empty {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 17.3 4.2 21l1.5-8.7L.3 8.7l8.8-1.3L12 0l2.9 7.4 8.8 1.3-6.4 6.3L19.8 21Z'/%3E%3C/svg%3E"),
        linear-gradient(var(--da-star-empty), var(--da-star-empty));
}
.da-rating b { font-weight: 700; font-size: 13px; }
.da-rating em { color: var(--da-muted); font-style: normal; font-weight: 500; }
.da-rating--empty em { margin: 0; }
.da-status { font-style: normal; font-size: 12px; font-weight: 650; }
.da-status--open { color: var(--da-open); }
.da-status--closed { color: var(--da-closed); }
.da-card__book { font-size: 12px; font-weight: 650; color: var(--da-brand); }

.da-pill {
    position: absolute; left: 6px; bottom: 6px;
    font-size: 10px; font-weight: 700; border-radius: 999px; padding: 3px 7px;
}
.da-pill--open { background: var(--da-open-bg); color: var(--da-open); }
.da-pill--closed { background: #fff; color: var(--da-closed); }
.da-pill--static { position: static; }

.da-chips {
    display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 14px;
    margin: 0 -20px; padding-left: 20px; padding-right: 20px;
    position: sticky; top: calc(var(--da-top-h) + var(--da-safe-top));
    background: var(--da-bg); z-index: 20;
    scrollbar-width: none;
}
.da-chips::-webkit-scrollbar { display: none; }
.da-chip {
    flex: 0 0 auto; border: 1px solid var(--da-line); background: var(--da-paper);
    border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600;
    color: var(--da-ink);
}
.da-chip svg { width: 14px; height: 14px; vertical-align: -2px; }
.da-chip.is-on { background: var(--da-ink); color: #fff; border-color: var(--da-ink); }

.da-ficha__hero {
    margin: 0 -20px 16px; position: relative; background: #1a1a1a;
    aspect-ratio: 4/3; overflow: hidden; min-height: 280px;
}
.da-ficha__hero img { width: 100%; height: 100%; object-fit: cover; }
.da-ficha__float, .da-ficha__hero .da-fav {
    position: absolute; z-index: 3;
    top: calc(10px + var(--da-safe-top));
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--da-ink);
    box-shadow: 0 2px 12px rgba(0,0,0,.18);
    display: inline-flex; align-items: center; justify-content: center;
    border: 0;
}
.da-ficha__back { left: 12px; }
.da-ficha__hero .da-fav { right: 12px; top: calc(10px + var(--da-safe-top)); }
.da-ficha__float svg, .da-ficha__hero .da-fav svg { width: 20px; height: 20px; }
.da-ficha__veil {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 56px 20px 18px;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 28%, rgba(0,0,0,.72) 100%);
    color: #fff; pointer-events: none;
}
.da-ficha__veil h2 {
    margin: 0 0 8px; font-size: 26px; letter-spacing: -.04em;
    font-weight: 700; line-height: 1.15; color: #fff;
    text-shadow: 0 1px 8px rgba(0,0,0,.35);
}
.da-ficha__veil h2 .da-verified { color: #fff; }
.da-ficha__veil .da-rating b, .da-ficha__veil .da-rating em { color: #fff; }
.da-ficha__hero .da-ficha__count {
    position: absolute; right: 12px; top: calc(58px + var(--da-safe-top));
    z-index: 3;
    background: rgba(0,0,0,.5); color: #fff; border-radius: 999px;
    padding: 4px 10px; font-size: 12px; font-weight: 600;
}
.da-ficha__head { padding: 4px 0 8px; }
.da-ficha__hours { margin: 0; display: flex; align-items: center; gap: 10px; }

.da-ficha-bar {
    position: fixed;
    top: 0; left: 50%;
    width: min(100%, var(--da-phone));
    z-index: 46;
    height: calc(var(--da-top-h) + var(--da-safe-top));
    padding: var(--da-safe-top) 8px 0;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--da-line-soft);
    transform: translate(-50%, -110%);
    transition: transform .22s ease;
}
.da-ficha-bar.is-on { transform: translate(-50%, 0); }
.da-ficha-bar__name {
    margin: 0; text-align: center;
    font-size: 16px; font-weight: 650; letter-spacing: -.03em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.da-ficha-bar__more { position: relative; justify-self: end; }
.da-pop {
    position: absolute; top: calc(100% + 6px); right: 0;
    min-width: 228px;
    background: #fff; border-radius: 14px;
    box-shadow: 0 12px 36px rgba(30, 35, 64, .16);
    padding: 6px; z-index: 47;
}
.da-pop[hidden] { display: none; }
.da-pop a, .da-pop button {
    display: flex; align-items: center; gap: 10px;
    width: 100%; padding: 11px 12px;
    border: 0; background: none; border-radius: 10px;
    color: var(--da-ink); font-size: 14px; font-weight: 600;
    text-align: left; font-family: inherit;
}
.da-pop a:active, .da-pop button:active { background: var(--da-wash); }
.da-pop svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--da-muted); }
.da-actions {
    display: flex; justify-content: space-around; gap: 8px; margin: 22px 0 8px;
}
.da-act {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    background: transparent; border: 0;
    padding: 0; font-size: 11px; font-weight: 600;
    color: var(--da-ink); min-width: 64px;
}
.da-act__ico {
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--da-wash);
    display: inline-flex; align-items: center; justify-content: center;
}
.da-act svg { width: 22px; height: 22px; color: var(--da-ink); }
.da-act:active { transform: scale(.96); }
.da-act:active .da-act__ico { background: var(--da-line-soft); }

.da-cta {
    position: fixed;
    left: 50%;
    bottom: 0;
    width: min(100%, var(--da-phone));
    z-index: 48;
    display: flex;
    gap: 8px;
    padding: 10px 12px calc(10px + var(--da-safe-bottom));
    background: #fff;
    border-top: 1px solid #e0e0e0;
    transform: translate(-50%, 110%);
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;
}
.da-cta.is-on {
    transform: translate(-50%, 0);
    box-shadow: 0 -2px 10px rgba(0,0,0,.1);
    pointer-events: auto;
}
.da-cta__btn {
    flex: 1;
    min-height: 40px;
    max-height: 40px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    background: #fff;
    color: var(--da-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 0 8px;
    overflow: hidden;
    white-space: nowrap;
}
.da-cta__btn svg {
    width: 18px !important; height: 18px !important;
    flex: 0 0 18px; max-width: 18px; max-height: 18px;
}
.da-cta__btn--primary {
    background: var(--da-brand);
    border-color: var(--da-brand);
    color: #fff;
}
.da-cta__btn:active { background: #f5f5f5; }
.da-cta__btn--primary:active { background: var(--da-brand); opacity: .9; }

.da-block, .da-reviews, .da-msg {
    padding: 18px 0;
    margin: 0;
    border-top: 1px solid var(--da-line-soft);
    background: transparent;
}
.da-block h3, .da-reviews h3, .da-msg h3 {
    margin: 0 0 12px; font-size: 17px; letter-spacing: -.03em; font-weight: 600;
}
.da-photos {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.da-photos__i {
    border: 0; padding: 0; background: transparent; border-radius: 12px; overflow: hidden;
}
.da-photos img, .da-photos__i img { border-radius: 12px; height: 84px; width: 100%; object-fit: cover; }
.da-ficha__hero[data-da-gallery] { cursor: pointer; }
.da-hours { display: grid; gap: 8px; }
.da-hours div { display: flex; justify-content: space-between; font-size: 14px; }
.da-hours b { font-weight: 600; }
.da-amen { display: flex; flex-wrap: wrap; gap: 8px; }
.da-amen span {
    background: var(--da-wash); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 600;
}

.da-reviews__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 12px; margin: 0 0 16px;
}
.da-reviews__head h3 { margin: 0; }
.da-reviews__write {
    border: 0; background: none; padding: 0;
    color: var(--da-brand); font-size: 13px; font-weight: 650;
    white-space: nowrap;
}
.da-reviews__write:active { opacity: .7; }
.da-reviews__sum { display: grid; grid-template-columns: 110px 1fr; gap: 18px; align-items: start; }
.da-reviews__score { text-align: left; }
.da-reviews__score b { display: block; font-size: 28px; letter-spacing: -.05em; line-height: 1; font-weight: 700; }
.da-reviews__score .da-rating { justify-content: flex-start; margin-top: 8px; }
.da-reviews__score .da-rating__box { justify-content: flex-start; }
.da-reviews__score .da-sq { width: 18px; height: 18px; flex-basis: 18px; background-size: 12px, 100% 100%; }
.da-reviews__score small { display: block; margin-top: 6px; color: var(--da-muted); font-size: 12px; }
.da-hist { display: grid; gap: 8px; padding-top: 4px; }
.da-hist__row { display: grid; grid-template-columns: 10px 1fr; gap: 8px; align-items: center; font-size: 12px; font-weight: 600; color: var(--da-muted); }
.da-hist__row i { display: block; height: 8px; background: #ececec; border-radius: 99px; overflow: hidden; }
.da-hist__row em { display: block; height: 100%; background: var(--da-star); border-radius: 99px; }

.da-review { padding: 16px 0 0; }
.da-review strong { display: block; font-size: 14px; }
.da-review p { margin: 6px 0 0; color: #333; font-size: 14px; line-height: 1.5; }

.da-star-pick { display: flex; justify-content: center; gap: 8px; padding: 8px 0 4px; }
.da-star-pick button {
    width: 40px; height: 40px; border: 0; background: transparent; color: var(--da-star-empty); padding: 0;
}
.da-star-pick button.is-on { color: var(--da-star); }
.da-star-pick svg { width: 32px; height: 32px; }

.da-form { display: grid; gap: 12px; }
.da-label { font-size: 13px; font-weight: 600; display: grid; gap: 6px; }
.da-input, .da-area {
    width: 100%; border: 0; background: var(--da-wash);
    border-radius: 14px; padding: 13px 14px; outline: none;
}
.da-area { min-height: 110px; resize: vertical; }
.da-input:focus, .da-area:focus { box-shadow: 0 0 0 2px var(--da-brand-soft); }

.da-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 50px; border-radius: 999px; border: 0; padding: 0 16px;
    font-weight: 700; width: 100%;
}
.da-btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.da-btn--primary { background: var(--da-brand); color: #fff; }
.da-btn--ghost { background: var(--da-wash); }
.da-btn--dark { background: var(--da-ink); color: #fff; }
.da-btn--sm { width: auto; min-height: 40px; padding: 0 14px; font-size: 13px; }
.da-btn:disabled { opacity: .5; }
.da-btn:active { transform: scale(.98); }
.da-btn-row { display: flex; gap: 8px; flex-wrap: wrap; }

.da-empty { text-align: center; padding: 48px 12px; color: var(--da-muted); }
.da-empty .da-btn { margin-top: 16px; }
.da-empty--soft { padding: 20px 0; }
.da-empty h1, .da-empty h2 { color: var(--da-ink); letter-spacing: -.04em; }
.da-err { background: var(--da-err-bg); color: var(--da-err); border-radius: 12px; padding: 10px 12px; font-size: 13px; display: none; }
.da-err.is-on { display: block; }
.da-ok { background: var(--da-open-bg); color: var(--da-open); border-radius: 12px; padding: 10px 12px; font-size: 13px; }

.da-row {
    display: flex; align-items: center; gap: 12px;
    background: transparent; border: 0; border-bottom: 1px solid var(--da-line-soft);
    border-radius: 0; padding: 16px 0; margin-bottom: 0; width: 100%; text-align: left;
}
.da-row:active { opacity: .72; }
.da-row svg { width: 20px; height: 20px; color: var(--da-muted); flex: 0 0 auto; }
.da-row strong { display: block; font-size: 15px; font-weight: 600; }
.da-row small { color: var(--da-muted); }
.da-row .da-grow { flex: 1; min-width: 0; }

.da-sheet { position: fixed; inset: 0; z-index: 80; }
.da-sheet[hidden] { display: none; }
.da-sheet__back { position: absolute; inset: 0; background: rgba(30,35,64,.4); }
.da-sheet__panel {
    position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    width: min(100%, var(--da-phone));
    background: #fff; border-radius: 22px 22px 0 0;
    max-height: 86dvh; overflow: auto;
    padding: 8px 20px calc(20px + var(--da-safe-bottom));
    box-shadow: var(--da-shadow-md);
}
.da-sheet__handle { width: 40px; height: 4px; border-radius: 99px; background: var(--da-line); margin: 8px auto 14px; }
.da-sheet h2 { margin: 0 0 12px; font-size: 20px; letter-spacing: -.04em; }
.da-sheet .da-row { width: 100%; }

.da-lightbox {
    position: fixed; inset: 0; z-index: 90;
    background: #111; display: flex; align-items: center; justify-content: center;
}
.da-lightbox[hidden] { display: none; }
.da-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.da-lightbox__x {
    position: absolute; top: calc(12px + var(--da-safe-top)); right: 12px;
    width: 40px; height: 40px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.12); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
}
.da-lightbox__x svg { width: 20px; height: 20px; }
.da-lightbox__nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.12); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
}
.da-lightbox__nav svg { width: 20px; height: 20px; }
.da-lightbox__nav.is-prev { left: 10px; }
.da-lightbox__nav.is-next { right: 10px; }
.da-lightbox__count {
    position: absolute; bottom: calc(18px + var(--da-safe-bottom));
    left: 0; right: 0; text-align: center; color: #fff;
    font-size: 13px; font-weight: 600;
}

.da-live { margin-top: 8px; }
.da-live[hidden] { display: none; }

.da-method {
    display: flex; align-items: center; gap: 12px;
    width: 100%; text-align: left; background: var(--da-wash);
    border: 0; border-radius: 16px; padding: 14px;
}
.da-method strong { display: block; }
.da-method small { color: var(--da-muted); }

.da-code {
    letter-spacing: .4em; text-align: center; font-size: 22px; font-weight: 700;
}

#da-skel-overlay {
    position: fixed; top: 0; left: 50%; transform: translateX(-50%);
    width: min(100%, var(--da-phone)); bottom: 0; z-index: 70;
    background: var(--da-bg); display: none; overflow: hidden;
}
#da-skel-overlay.is-visible { display: block; }
.da-skel { padding: 16px; }
.da-skel__b {
    display: block; border-radius: 12px; background: var(--da-wash);
    background-image: linear-gradient(90deg, rgba(0,0,0,.03) 25%, var(--da-brand-soft) 37%, rgba(0,0,0,.03) 63%);
    background-size: 800px 100%;
    animation: da-shimmer 1.3s linear infinite;
}
@keyframes da-shimmer { to { background-position: 400px 0; } }
.da-skel__line { height: 14px; margin: 10px 0; }
.da-skel__line.w60 { width: 60%; }
.da-skel__line.w40 { width: 40%; }
.da-skel__card { height: 96px; margin: 12px 0; }
.da-skel__hero { aspect-ratio: 4/3; margin-bottom: 16px; border-radius: 0; }
.da-skel__tile { height: 36px; border-radius: 999px; }
.da-skel__grid { display: flex; gap: 8px; overflow: hidden; }
.da-skel__listrow { display: grid; grid-template-columns: 96px 1fr; gap: 12px; margin: 12px 0; }
.da-skel__thumb { height: 96px; }

.da-muted { color: var(--da-muted); font-size: 13px; }
#da-count { margin: 0 0 2px; font-size: 12px; }
.da-link { font-weight: 600; color: var(--da-brand); border: 0; background: transparent; padding: 0; }

.da-card-tools { display: none; }
.da-card-wrap > .da-fav {
    position: absolute; top: 12px; right: 0; z-index: 2;
}
.da-km {
    font-size: 12px; font-weight: 600; font-style: normal; color: var(--da-muted);
}
.da-fav {
    width: 32px; height: 32px; border: 0; border-radius: 50%;
    background: transparent; color: var(--da-muted);
    display: inline-flex; align-items: center; justify-content: center; padding: 0;
}
.da-fav svg { width: 20px; height: 20px; }
.da-fav.is-on { color: var(--da-err); }
.da-fav.is-on svg { fill: currentColor; }
.da-ficha__hero .da-fav.is-on { color: var(--da-err); }

.da-offer-chip {
    display: inline-flex; align-self: flex-start;
    font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    background: var(--da-err); color: #fff; border-radius: 999px; padding: 2px 8px;
}

.da-tabs {
    display: flex; gap: 4px; background: var(--da-wash);
    border: 0; border-radius: 14px; padding: 4px; margin: 8px 0 14px;
}
.da-tabs button {
    flex: 1; border: 0; background: transparent; border-radius: 10px;
    padding: 10px 8px; font-weight: 600; font-size: 13px;
}
.da-tabs button.is-on { background: var(--da-paper); color: var(--da-ink); box-shadow: var(--da-shadow-md); }
.da-tab[hidden] { display: none; }

.da-products { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.da-prod {
    background: var(--da-paper); border: 0; border-radius: 16px; overflow: hidden;
    display: flex; flex-direction: column;
}
.da-prod img, .da-prod__ph { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--da-wash); }
.da-prod__ph { display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 28px; color: var(--da-muted); }
.da-prod__body { padding: 10px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.da-prod__body strong { font-size: 14px; letter-spacing: -.02em; }
.da-prod__body p { margin: 0; font-size: 12px; color: var(--da-muted); }
.da-prod__price { font-style: normal; font-weight: 700; }
.da-prod .da-btn { min-height: 40px; font-size: 12px; margin-top: auto; }

.da-offer {
    background: var(--da-paper); border: 0; border-radius: 16px;
    overflow: hidden; margin-bottom: 10px;
}
.da-offer img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.da-offer > div { padding: 12px 14px; }
.da-offer strong { display: block; font-size: 16px; margin-bottom: 6px; }
.da-offer p { margin: 8px 0 0; color: #333; }

.da-role { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.da-role__opt {
    display: grid; gap: 4px; background: var(--da-wash); border: 0;
    border-radius: 16px; padding: 12px; font-size: 12px;
}
.da-role__opt:has(input:checked) { box-shadow: 0 0 0 2px var(--da-brand); }
.da-role__opt strong { font-size: 14px; }
.da-role__opt small { color: var(--da-muted); }
.da-role__opt input { accent-color: var(--da-brand); }

.da-check { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.da-row.is-new { }

.da-chip:focus-visible, .da-tabs button:focus-visible, .da-nav__i:focus-visible,
.da-fav:focus-visible, .da-act:focus-visible, .da-btn:focus-visible {
    outline: 2px solid var(--da-brand); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .da-skel__b { animation: none; }
    .da-card:active, .da-btn:active, .da-act:active { transform: none; }
}

.da-pager {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
    margin: 16px 0 8px;
}
.da-pager__btn {
    min-height: 44px;
    border-radius: 12px;
    border: 0;
    background: var(--da-paper);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    padding: 0 12px;
}
.da-pager__btn.is-off { color: var(--da-muted); opacity: .45; }
.da-pager__meta { font-size: 13px; font-weight: 600; color: var(--da-muted); }

.da-map-sheet {
    position: fixed; inset: 0; z-index: 90; background: #fff;
    display: flex; flex-direction: column;
}
.da-map-sheet[hidden] { display: none !important; }
.da-map-sheet__bar {
    display: flex; align-items: center; gap: 10px;
    padding: calc(10px + var(--da-safe-top)) 14px 10px;
    background: #fff; color: var(--da-ink);
    border-bottom: 1px solid var(--da-line-soft);
    flex: 0 0 auto;
}
.da-map-sheet__bar strong { flex: 1; }
.da-map-sheet__bar .da-btn { width: auto; min-height: 40px; padding: 0 12px; }
#da-map {
    flex: 1 1 auto;
    width: 100%;
    height: calc(100dvh - 56px - var(--da-safe-top));
    min-height: 280px;
}
.da-map-msg {
    position: absolute;
    left: 16px; right: 16px; bottom: calc(24px + var(--da-safe-bottom));
    background: #fff; border-radius: 14px; padding: 12px 14px;
    box-shadow: var(--da-shadow-md);
    font-size: 13px; color: var(--da-muted);
    z-index: 400;
}
.da-map-msg[hidden] { display: none; }

.da-recents {
    display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
}
.da-recents::-webkit-scrollbar { display: none; }
.da-recent {
    flex: 0 0 112px; display: flex; flex-direction: column; gap: 6px;
}
.da-recent img, .da-recent span {
    width: 112px; height: 80px; object-fit: cover; border-radius: 14px; background: var(--da-wash);
}
.da-recent span { display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--da-muted); }
.da-recent strong { font-size: 12px; line-height: 1.3; }

.da-review__photos { display: flex; gap: 6px; margin-top: 8px; overflow-x: auto; }
.da-review__photos img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; }
.da-reply {
    background: var(--da-wash); border-radius: 12px; padding: 10px 12px; margin-top: 8px;
}
.da-reply strong { font-size: 12px; }
.da-reply p { margin: 4px 0 0; }

.da-slots { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.da-slot {
    border: 0; border-radius: 10px;
    padding: 8px 12px; background: var(--da-wash); font-weight: 700; font-size: 13px;
}
.da-slot.is-on { background: var(--da-ink); color: #fff; }

.da-land {
    padding: 48px 8px 32px;
    text-align: left;
}
.da-land h2 {
    font-family: var(--da-display);
    font-size: 36px;
    letter-spacing: -.04em;
    margin: 0 0 12px;
    line-height: 1.05;
    font-weight: 600;
}
.da-land__lead { font-size: 17px; line-height: 1.5; margin: 0 0 20px; color: var(--da-muted); }
.da-land__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.da-land__play { width: 100%; justify-content: center; }
.da-land-body .da-main { padding-top: 12px; }
.da-google { width: 100%; margin-top: 10px; }
.da-verified { color: var(--da-brand); font-style: normal; }
.da-verified svg { width: 16px; height: 16px; display: inline-block; vertical-align: -2px; }
.da-claim {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 18px; min-height: 44px; max-height: 48px;
    border: 1px solid var(--da-line); border-radius: 12px;
    background: var(--da-paper); color: var(--da-ink);
    font-size: 14px; font-weight: 600;
    overflow: hidden;
}
.da-claim svg {
    width: 18px !important; height: 18px !important;
    flex: 0 0 18px; max-width: 18px; max-height: 18px;
    color: var(--da-muted);
}
.da-claim:active { background: var(--da-wash); }
.da-open-app {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    margin: 0 0 16px; padding: 0;
    background: transparent;
}
.da-open-app .da-btn { width: auto; min-height: 40px; padding: 0 14px; font-size: 13px; }

body.da-native-app {
    --da-safe-top: 0px;
    --da-safe-bottom: 0px;
}
