.tvg-like { position: absolute; top: 10px; right: 12px; z-index: 3; box-sizing: border-box; width: 26px; height: 26px; padding: 0; display: grid; place-items: center; border: 1px solid #dce3ed; border-radius: 50%; background: #fff; color: #39465b; cursor: pointer; }
.tvg-like::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; }
.tvg-like[hidden] { display: none; }
.travel-gallery__item .tvg-like--gallery { top: 12px; right: 12px; width: 44px; height: 44px; color: #c32255; box-shadow: 0 4px 16px #172b4d40; }
.travel-gallery__item .tvg-like--gallery::before { content: none; }
.travel-gallery__item .tvg-like--gallery svg { width: 26px; height: 26px; }
.tvg-like:not([hidden]) ~ .package-card__featured { right: 50px; max-width: calc(100% - 136px); }
.tvg-like svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tvg-like[aria-pressed="true"] { color: #c32255; }
.tvg-like[aria-pressed="true"] svg { fill: currentColor; }
.tvg-memory-launcher { position: fixed; left: 16px; bottom: var(--tvg-memory-bottom, calc(18px + env(safe-area-inset-bottom, 0px))); z-index: 1000; display: flex; gap: 4px; padding: 5px; background: #fff; border: 1px solid #dce3ed; border-radius: 28px; box-shadow: 0 4px 20px #172b4d26; }
.tvg-memory-launcher button, .tvg-memory button { font: inherit; min-height: 44px; padding: 8px 12px; border: 1px solid #dce3ed; border-radius: 20px; background: #fff; color: #233f78; cursor: pointer; }
.tvg-memory-launcher button { border: 0; font-size: 13px; }
.tvg-memory { box-sizing: border-box; width: min(620px, calc(100% - 24px)); max-height: 85vh; max-height: 85dvh; padding: 22px; border: 0; border-radius: 20px; color: #26344b; background: #fff; overflow-y: auto; }
.tvg-memory::backdrop { background: #10213b99; }
.tvg-memory h2 { font-size: 23px; margin: 0; color: #233f78; }
.tvg-memory p { font-size: 14px; margin: 12px 0; }
.tvg-memory__header, .tvg-memory__tabs { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.tvg-memory__tabs { justify-content: flex-start; flex-wrap: wrap; }
.tvg-memory__tabs button[aria-pressed="true"] { color: #fff; background: #233f78; }
.tvg-memory__list { display: grid; gap: 12px; }
.tvg-memory__item { display: flex; gap: 12px; align-items: center; border-bottom: 1px solid #e4eaf1; padding-bottom: 12px; }
.tvg-memory__item a { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; color: #233f78; font-size: 14px; overflow-wrap: anywhere; text-decoration: none; }
.tvg-memory__item img { width: 84px; height: 64px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.tvg-memory__item button { flex-shrink: 0; }
.tvg-memory :focus-visible, .tvg-like:focus-visible, .tvg-memory-launcher :focus-visible { outline: 3px solid #dc9b00; outline-offset: 3px; }
@media (max-width: 480px) { .tvg-memory { padding: 16px; } .tvg-memory__item img { width: 60px; height: 54px; } .tvg-memory__item { gap: 6px; } .tvg-memory__item button { padding: 8px; font-size: 12px; } }
