{"id":3813,"date":"2026-09-08T22:12:09","date_gmt":"2026-09-08T21:12:09","guid":{"rendered":"https:\/\/www.echolution.com\/?page_id=3813"},"modified":"2026-09-10T08:05:22","modified_gmt":"2026-09-10T07:05:22","slug":"duty-free-price-index","status":"publish","type":"page","link":"https:\/\/www.echolution.com\/es\/duty-free-price-index\/","title":{"rendered":"Duty Free Price Index"},"content":{"rendered":"\n<style>\/* Base stylesheet \u2014 reset + fluid type scale + spacing + color tokens *\/\n\n*, *::before, *::after { box-sizing: border-box; }\nhtml, body { margin: 0; padding: 0; }\nimg, picture, svg { display: block; max-width: 100%; }\ninput, button, select, textarea { font: inherit; color: inherit; }\nbutton { cursor: pointer; }\na { color: inherit; }\nul, ol { list-style: none; margin: 0; padding: 0; }\nh1, h2, h3, h4, p { margin: 0; }\ntable { border-collapse: collapse; width: 100%; }\n\n:root {\n  \/* Type scale \u2014 px-based (this page renders inside a theme wrapper whose\n     html element sets font-size:62.5%, which silently shrinks any rem-based\n     sizing to ~63% of intended; px units sidestep that entirely) *\/\n  --text-xs: clamp(13px, 12.64px + 0.15vw, 14px);\n  --text-sm: clamp(15px, 14.4px + 0.2vw, 16px);\n  --text-base: clamp(17px, 16.32px + 0.25vw, 19px);\n  --text-lg: clamp(19px, 17.6px + 0.5vw, 23px);\n  --text-xl: clamp(24px, 19.2px + 1.1vw, 34px);\n  --text-2xl: clamp(32px, 20.8px + 2.2vw, 54px);\n  --text-3xl: clamp(42px, 20.8px + 4vw, 74px);\n\n  \/* Spacing (4px system) \u2014 also px-based for the same reason *\/\n  --space-1: 4px;\n  --space-2: 8px;\n  --space-3: 12px;\n  --space-4: 16px;\n  --space-6: 24px;\n  --space-8: 32px;\n  --space-12: 48px;\n  --space-16: 64px;\n  --space-24: 96px;\n  --space-32: 128px;\n\n  --radius-sm: 6px;\n  --radius-md: 10px;\n  --radius-lg: 16px;\n\n  --ease: cubic-bezier(0.16, 1, 0.3, 1);\n}\n\nbody {\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  line-height: 1.6;\n  background: var(--color-bg);\n  color: var(--color-text);\n  -webkit-font-smoothing: antialiased;\n  transition: background 0.3s var(--ease), color 0.3s var(--ease);\n}\n\n.container {\n  width: min(1280px, 92vw);\n  margin-inline: auto;\n}\n\n.visually-hidden {\n  position: absolute;\n  width: 1px; height: 1px;\n  overflow: hidden;\n  clip: rect(0 0 0 0);\n  white-space: nowrap;\n}\n\n:focus-visible {\n  outline: 2px solid var(--color-accent);\n  outline-offset: 2px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\/* Duty Free Price Index \u2014 Echolution brand tokens + components *\/\n\/* Font (Nunito) is loaded via <link> tag in index.html <head>, matching echolution.com *\/\n\n:root {\n  --font-display: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  --font-body: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  \/* Fixed brand teal \u2014 same value in light and dark mode (does not invert with theme) *\/\n  --color-teal: #2C4343;\n  --color-cream-fixed: #FBFBFB;\n\n  \/* Light mode \u2014 Echolution teal \/ gold \/ cream *\/\n  --color-bg: #FBFBFB;\n  --color-surface: #FFFFFF;\n  --color-surface-alt: #F3F1EA;\n  --color-border: #E3DFD3;\n  --color-text: #2C4343;\n  --color-text-muted: #4A4A4A;\n  --color-text-faint: #8B9494;\n  --color-accent: #CAA866;\n  --color-accent-strong: #785B22;\n  --color-accent-soft: #F8F1DF;\n  --color-teal-soft: #E5EAEA;\n  --color-success: #3E7A54;\n  --color-success-soft: #DFEEE2;\n  --color-diffsize: #785B22;\n  --color-diffsize-soft: #F8F1DF;\n  --color-bundle: #A84B2F;\n  --color-bundle-soft: #F6E4DE;\n  --color-substitute: #7A39BB;\n  --color-substitute-soft: #EDE2F7;\n  --color-error: #A13544;\n  --color-error-soft: #F6DEDF;\n  --color-neutral-soft: #EAE7E0;\n  --shadow-sm: 0 1px 2px rgba(44, 67, 67, 0.08);\n  --shadow-md: 0 8px 24px rgba(44, 67, 67, 0.12);\n}\n\nhtml[data-theme=\"dark\"] {\n  --color-bg: #182626;\n  --color-surface: #1E2F2F;\n  --color-surface-alt: #24393A;\n  --color-border: #35494A;\n  --color-text: #F3F1EA;\n  --color-text-muted: #B9C4C2;\n  --color-text-faint: #7C8B8A;\n  --color-accent: #D8B463;\n  --color-accent-strong: #EDCB7E;\n  --color-accent-soft: #33301F;\n  --color-teal-soft: #24393A;\n  --color-success: #7CBF95;\n  --color-success-soft: #1B2F24;\n  --color-diffsize: #EDCB7E;\n  --color-diffsize-soft: #33301F;\n  --color-bundle: #E08863;\n  --color-bundle-soft: #3A2620;\n  --color-substitute: #C09CE8;\n  --color-substitute-soft: #2C2138;\n  --color-error: #E28A93;\n  --color-error-soft: #34191C;\n  --color-neutral-soft: #202B38;\n  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);\n  --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.45);\n}\n\n\/* ---------- Header ---------- *\/\n.site-header {\n  position: sticky;\n  top: 0;\n  z-index: 50;\n  background: color-mix(in srgb, var(--color-bg) 88%, transparent);\n  backdrop-filter: blur(14px);\n  border-bottom: 1px solid var(--color-border);\n}\n.header-inner {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding-block: var(--space-4);\n  gap: var(--space-4);\n}\n.brand {\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n  text-decoration: none;\n}\n.brand img.brand-mark { width: 32px; height: auto; display: block; }\n.brand-text { display: flex; flex-direction: column; line-height: 1.15; }\n.brand-word {\n  font-family: var(--font-display);\n  font-weight: 800;\n  font-size: var(--text-lg);\n  letter-spacing: 0.01em;\n  color: var(--color-text);\n}\n.brand-tag {\n  font-size: 11px;\n  font-weight: 600;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  color: var(--color-accent-strong);\n}\nhtml[data-theme=\"dark\"] .brand-tag { color: var(--color-accent); }\n.theme-toggle {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: 999px;\n  padding: var(--space-2) var(--space-4);\n  font-size: var(--text-xs);\n  color: var(--color-text-muted);\n  transition: all 0.2s var(--ease);\n}\n.theme-toggle:hover { border-color: var(--color-accent); color: var(--color-text); }\n.theme-toggle svg { width: 16px; height: 16px; }\n\n\/* ---------- Hero ---------- *\/\n.hero {\n  padding-block: clamp(var(--space-16), 8vw, var(--space-24)) var(--space-12);\n}\n.hero-eyebrow {\n  font-size: var(--text-xs);\n  text-transform: uppercase;\n  letter-spacing: 0.14em;\n  color: var(--color-accent);\n  font-weight: 600;\n  margin-bottom: var(--space-4);\n}\n.hero h1 {\n  font-family: var(--font-display);\n  font-size: var(--text-3xl);\n  line-height: 1.05;\n  color: var(--color-text);\n  max-width: 18ch;\n  margin-bottom: var(--space-6);\n}\n.hero p.lede {\n  font-size: var(--text-lg);\n  color: var(--color-text-muted);\n  max-width: 62ch;\n  line-height: 1.6;\n}\n\n.stat-row {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n  gap: var(--space-4);\n  margin-top: var(--space-12);\n}\n.stat-card {\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-md);\n  padding: var(--space-6);\n}\n.stat-card .value {\n  font-family: var(--font-display);\n  font-size: var(--text-2xl);\n  color: var(--color-text);\n  font-variant-numeric: tabular-nums;\n}\n.stat-card .label {\n  font-size: var(--text-xs);\n  color: var(--color-text-muted);\n  margin-top: var(--space-1);\n}\n\n\/* ---------- Section shell ---------- *\/\n.section {\n  padding-block: clamp(var(--space-12), 6vw, var(--space-24));\n  border-top: 1px solid var(--color-border);\n}\n.section-head {\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: var(--space-6);\n  margin-bottom: var(--space-8);\n  flex-wrap: wrap;\n}\n.section-head h2 {\n  font-family: var(--font-display);\n  font-size: var(--text-2xl);\n  color: var(--color-text);\n}\n.section-head p {\n  color: var(--color-text-muted);\n  font-size: var(--text-sm);\n  max-width: 52ch;\n}\n\n\/* ---------- Airports ranking ---------- *\/\n.airport-list {\n  display: grid;\n  gap: var(--space-2);\n}\n.airport-row {\n  display: grid;\n  grid-template-columns: 40px 1fr 80px auto;\n  align-items: center;\n  gap: var(--space-4);\n  padding: var(--space-3) var(--space-4);\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-sm);\n}\n.airport-rank {\n  font-family: var(--font-display);\n  font-size: var(--text-lg);\n  color: var(--color-accent);\n}\n.airport-name { font-size: var(--text-sm); color: var(--color-text); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }\n.airport-name .code { color: var(--color-text-muted); font-size: var(--text-xs); }\n.airport-bar-wrap { position: relative; height: 8px; background: var(--color-surface-alt); border-radius: 999px; overflow: hidden; }\n.airport-bar { position: absolute; inset: 0; width: 0; background: linear-gradient(90deg, var(--color-accent), var(--color-accent-strong)); border-radius: 999px; transition: width 1s var(--ease); }\n.airport-pax { font-size: var(--text-xs); color: var(--color-text-muted); font-variant-numeric: tabular-nums; text-align: right; }\n\n\/* ---------- View toggle (Airport-first \/ Product-first) ---------- *\/\n.view-toggle {\n  display: inline-flex;\n  border: 1px solid var(--color-border);\n  border-radius: 999px;\n  overflow: hidden;\n  margin-bottom: var(--space-6);\n}\n.view-toggle button {\n  border: none;\n  border-left: 1px solid var(--color-border);\n  background: transparent;\n  padding: var(--space-3) var(--space-5);\n  font-size: var(--text-sm);\n  font-weight: 600;\n  color: var(--color-text-muted);\n  transition: all 0.2s var(--ease);\n  cursor: pointer;\n}\n.view-toggle button:first-child { border-left: none; }\n.view-toggle button.active { background: var(--color-teal); color: var(--color-cream-fixed); border-left-color: var(--color-teal); }\n\n.product-lookup {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-end;\n  gap: var(--space-4);\n  padding: var(--space-4);\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-md);\n  margin-bottom: var(--space-6);\n}\n.product-lookup .control-group select { min-width: 320px; }\n\n.rank-group { margin-bottom: var(--space-6); }\n.rank-group h4 {\n  font-size: var(--text-sm);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: var(--color-text-muted);\n  margin-bottom: var(--space-3);\n}\n.rank-row {\n  display: grid;\n  grid-template-columns: 32px 1fr auto auto;\n  align-items: center;\n  gap: var(--space-4);\n  padding: var(--space-3) var(--space-4);\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-sm);\n  margin-bottom: var(--space-2);\n}\n.rank-row.is-cheapest { border-color: var(--color-accent); background: var(--color-accent-soft); }\n.rank-row .rank-pos { font-family: var(--font-display); font-weight: 800; color: var(--color-text-faint); text-align: center; }\n.rank-row.is-cheapest .rank-pos { color: var(--color-accent-strong); }\nhtml[data-theme=\"dark\"] .rank-row.is-cheapest .rank-pos { color: var(--color-accent); }\n.rank-row .rank-airport { font-size: var(--text-sm); color: var(--color-text); }\n.rank-row .rank-airport .code { color: var(--color-text-muted); font-size: var(--text-xs); }\n.rank-row .rank-found { color: var(--color-text-muted); font-size: var(--text-xs); margin-top: 2px; }\n.rank-row .rank-price { font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; white-space: nowrap; color: var(--color-text); }\n.rank-row.is-cheapest .rank-price { color: var(--color-accent-strong); }\nhtml[data-theme=\"dark\"] .rank-row.is-cheapest .rank-price { color: var(--color-accent); }\n\n\/* ---------- Controls ---------- *\/\n.controls {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-4);\n  align-items: center;\n  padding: var(--space-4);\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-md);\n  margin-bottom: var(--space-6);\n}\n.control-group { display: flex; flex-direction: column; gap: var(--space-1); }\n.control-group label {\n  font-size: var(--text-xs);\n  color: var(--color-text-muted);\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n}\n.control-group select {\n  background: var(--color-bg);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-sm);\n  padding: var(--space-2) var(--space-3);\n  font-size: var(--text-sm);\n  color: var(--color-text);\n  min-width: 180px;\n}\n.currency-toggle {\n  display: inline-flex;\n  border: 1px solid var(--color-border);\n  border-radius: 999px;\n  overflow: hidden;\n}\n.currency-toggle button {\n  border: none;\n  background: transparent;\n  padding: var(--space-2) var(--space-4);\n  font-size: var(--text-sm);\n  color: var(--color-text-muted);\n  transition: all 0.2s var(--ease);\n}\n.currency-toggle button.active {\n  background: var(--color-accent);\n  color: var(--color-bg);\n  font-weight: 600;\n}\n.group-toggle {\n  display: inline-flex;\n  border: 1px solid var(--color-border);\n  border-radius: 999px;\n  overflow: hidden;\n  flex-shrink: 0;\n}\n.group-toggle button {\n  border: none;\n  background: transparent;\n  padding: var(--space-2) var(--space-4);\n  font-size: var(--text-xs);\n  white-space: nowrap;\n  color: var(--color-text-muted);\n  transition: all 0.2s var(--ease);\n}\n.group-toggle button.active {\n  background: var(--color-accent);\n  color: var(--color-bg);\n  font-weight: 600;\n}\n.checkbox-field {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  font-size: var(--text-sm);\n  color: var(--color-text-muted);\n  margin-left: auto;\n}\n.result-count {\n  font-size: var(--text-xs);\n  color: var(--color-text-faint);\n  margin-bottom: var(--space-3);\n}\n\n\/* ---------- Table ---------- *\/\n.table-wrap {\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-radius: var(--radius-md);\n  overflow: auto;\n  box-shadow: var(--shadow-sm);\n}\ntable.pricing {\n  min-width: 920px;\n}\ntable.pricing th {\n  text-align: left;\n  font-size: var(--text-xs);\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n  color: var(--color-text-muted);\n  padding: var(--space-3) var(--space-4);\n  border-bottom: 1px solid var(--color-border);\n  background: var(--color-surface-alt);\n  position: sticky;\n  top: 0;\n  cursor: pointer;\n  white-space: nowrap;\n}\ntable.pricing th:hover { color: var(--color-text); }\ntable.pricing th .arrow { opacity: 0.4; margin-left: var(--space-1); }\ntable.pricing td {\n  padding: var(--space-3) var(--space-4);\n  font-size: var(--text-sm);\n  border-bottom: 1px solid var(--color-border);\n  vertical-align: middle;\n}\ntable.pricing tbody tr:last-child td { border-bottom: none; }\ntable.pricing tbody tr:hover { background: var(--color-surface-alt); }\n.price-cell { font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; white-space: nowrap; color: var(--color-text); }\n.price-cell.price-best { color: var(--color-accent-strong); }\nhtml[data-theme=\"dark\"] .price-cell.price-best { color: var(--color-accent); }\n.na-cell { color: var(--color-text-faint); font-style: italic; font-weight: 400; }\n.product-cell .name { color: var(--color-text); }\n.product-cell .found { color: var(--color-text-muted); font-size: var(--text-xs); margin-top: 2px; }\n\n.badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  font-size: var(--text-xs);\n  padding: 3px 10px;\n  border-radius: 999px;\n  font-weight: 700;\n  white-space: nowrap;\n}\n.badge-official { background: var(--color-success-soft); color: var(--color-success); }\n.badge-diffsize { background: var(--color-diffsize-soft); color: var(--color-diffsize); }\n.badge-bundle { background: var(--color-bundle-soft); color: var(--color-bundle); }\n.badge-substitute { background: var(--color-substitute-soft); color: var(--color-substitute); }\n.badge-secondary { background: var(--color-error-soft); color: var(--color-error); }\n.badge-none { background: var(--color-neutral-soft); color: var(--color-text-faint); }\n.badge-cheapest { background: var(--color-accent); color: var(--color-teal); }\n\n.badge-group {\n  display: inline-block;\n  font-size: var(--text-xs);\n  font-weight: 600;\n  padding: 1px var(--space-2);\n  border-radius: 999px;\n  letter-spacing: 0.02em;\n  white-space: nowrap;\n}\n.badge-group-global { background: var(--color-surface-alt); color: var(--color-accent-strong); border: 1px solid var(--color-accent); }\n.badge-group-euro { background: var(--color-surface-alt); color: var(--color-text-muted); border: 1px solid var(--color-border); }\n\n.source-link {\n  font-size: var(--text-xs);\n  color: var(--color-accent);\n  text-decoration: none;\n  border-bottom: 1px solid transparent;\n}\n.source-link:hover { border-color: var(--color-accent); }\n\n\/* ---------- Legend ---------- *\/\n.legend {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-4);\n  margin-top: var(--space-6);\n}\n.legend-item { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); color: var(--color-text-muted); }\n\n\/* ---------- Gaps callout ---------- *\/\n.callout {\n  background: var(--color-surface);\n  border: 1px solid var(--color-border);\n  border-left: 3px solid var(--color-accent);\n  border-radius: var(--radius-sm);\n  padding: var(--space-6);\n  margin-bottom: var(--space-4);\n}\n.callout h3 { font-size: var(--text-base); color: var(--color-text); margin-bottom: var(--space-2); }\n.callout p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.6; }\n\n\/* ---------- Footer ---------- *\/\n.site-footer {\n  background: var(--color-teal);\n  padding-block: var(--space-12);\n  margin-top: var(--space-4);\n}\n.site-footer .footer-brand {\n  display: flex;\n  align-items: center;\n  gap: var(--space-4);\n  margin-bottom: var(--space-6);\n  flex-wrap: wrap;\n}\n.site-footer .footer-brand img { height: 28px; width: auto; display: block; }\n.site-footer .footer-brand .divider { width: 1px; height: 22px; background: rgba(251,251,251,0.25); }\n.site-footer .footer-brand span.tagline { font-size: var(--text-sm); color: var(--color-cream-fixed); opacity: 0.85; }\n.site-footer p { font-size: var(--text-xs); color: var(--color-cream-fixed); opacity: 0.7; max-width: 70ch; line-height: 1.7; }\n.site-footer a { color: var(--color-accent); text-decoration: none; }\n.site-footer a:hover { text-decoration: underline; }\n\n\/* ---------- Responsive ---------- *\/\n@media (max-width: 720px) {\n  .airport-row { grid-template-columns: 32px 1fr auto; }\n  .airport-bar-wrap { display: none; }\n  .controls { flex-direction: column; align-items: stretch; }\n  .control-group { width: 100%; }\n  .control-group select { width: 100%; min-width: 0; box-sizing: border-box; }\n  .currency-toggle, .group-toggle, .view-toggle { width: 100%; }\n  .currency-toggle button, .group-toggle button, .view-toggle button { flex: 1; }\n  .checkbox-field { margin-left: 0; }\n  .section-head { flex-direction: column; align-items: flex-start; }\n  .product-lookup { flex-direction: column; align-items: stretch; }\n  .product-lookup .control-group select { min-width: 0; width: 100%; box-sizing: border-box; }\n  .rank-row { grid-template-columns: 24px 1fr auto; }\n  .rank-row .rank-found { display: none; }\n}\n\n\/* ---------- Insight callout ---------- *\/\n.insight-section { padding-block: var(--space-8) var(--space-4); border-top: none; }\n.insight-callout {\n  background: var(--color-accent-soft);\n  border: 1px solid var(--color-accent);\n  border-radius: var(--radius-lg);\n  padding: var(--space-8);\n}\n.insight-eyebrow {\n  font-size: var(--text-xs);\n  text-transform: uppercase;\n  letter-spacing: 0.14em;\n  color: var(--color-accent-strong);\n  font-weight: 700;\n  margin-bottom: var(--space-3);\n}\nhtml[data-theme=\"dark\"] .insight-eyebrow { color: var(--color-accent); }\n.insight-headline {\n  font-family: var(--font-display);\n  font-size: var(--text-xl);\n  line-height: 1.35;\n  color: var(--color-text);\n  margin-bottom: var(--space-3);\n  max-width: 68ch;\n}\n.insight-headline strong { color: var(--color-accent-strong); }\nhtml[data-theme=\"dark\"] .insight-headline strong { color: var(--color-accent); }\n.insight-sub {\n  font-size: var(--text-sm);\n  color: var(--color-text-muted);\n  max-width: 68ch;\n  line-height: 1.6;\n}\n.insight-sub strong { color: var(--color-text); }\n\n\/* ---------- Page tabs ---------- *\/\n.page-tabs {\n  display: flex;\n  gap: var(--space-2);\n  padding-top: var(--space-8);\n}\n.page-tab {\n  border: 1px solid var(--color-border);\n  background: var(--color-surface);\n  border-radius: var(--radius-sm) var(--radius-sm) 0 0;\n  padding: var(--space-3) var(--space-6);\n  font-size: var(--text-sm);\n  font-weight: 700;\n  color: var(--color-text-muted);\n  border-bottom: none;\n  transition: all 0.2s var(--ease);\n  position: relative;\n}\n.page-tab:hover { color: var(--color-text); }\n.page-tab.active { color: var(--color-text); background: var(--color-bg); }\n.page-tab.active::after {\n  content: \"\";\n  position: absolute;\n  left: 0; right: 0; bottom: -1px;\n  height: 2px;\n  background: var(--color-accent);\n}\n.tab-panel .section { border-top: none; }\n\n@media (max-width: 720px) {\n  .insight-callout { padding: var(--space-6); }\n  .page-tabs { flex-wrap: wrap; }\n  .page-tab { flex: 1; text-align: center; }\n}\n\n\/* ---------- Bottom CTA ---------- *\/\n.cta-section { padding-block: var(--space-16); }\n.cta-callout {\n  background: var(--color-teal);\n  border-radius: var(--radius-lg);\n  padding: var(--space-16);\n  text-align: center;\n}\n.cta-eyebrow {\n  font-size: var(--text-xs);\n  text-transform: uppercase;\n  letter-spacing: 0.14em;\n  color: var(--color-accent);\n  font-weight: 700;\n  margin-bottom: var(--space-3);\n}\n.cta-callout h2 {\n  font-family: var(--font-display);\n  font-size: var(--text-2xl);\n  line-height: 1.15;\n  color: var(--color-cream-fixed);\n  max-width: 32ch;\n  margin-inline: auto;\n  margin-bottom: var(--space-4);\n}\n.cta-sub {\n  font-size: var(--text-base);\n  color: var(--color-cream-fixed);\n  opacity: 0.85;\n  max-width: 58ch;\n  margin-inline: auto;\n  line-height: 1.6;\n}\n.cta-buttons {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: var(--space-4);\n  margin-top: var(--space-8);\n}\n.cta-buttons a {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 999px;\n  padding: var(--space-3) var(--space-8);\n  font-size: var(--text-sm);\n  font-weight: 700;\n  text-decoration: none;\n  transition: all 0.2s var(--ease);\n}\n.btn-primary {\n  background: var(--color-accent);\n  color: var(--color-teal);\n}\n.btn-primary:hover { background: var(--color-accent-strong); }\n.btn-secondary {\n  background: transparent;\n  color: var(--color-cream-fixed);\n  border: 1px solid color-mix(in srgb, var(--color-cream-fixed) 40%, transparent);\n}\n.btn-secondary:hover { border-color: var(--color-cream-fixed); }\n\n@media (max-width: 720px) {\n  .cta-callout { padding: var(--space-8); }\n  .cta-buttons { flex-direction: column; align-items: stretch; }\n}\n<\/style>\n\n<header class=\"site-header\">\n  <div class=\"container header-inner\">\n    <a href=\"#top\" class=\"brand\" aria-label=\"Duty Free Price Index home\">\n      <img decoding=\"async\" class=\"brand-mark\" src=\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png\" alt=\"Echolution\">\n      <span class=\"brand-text\">\n        <span class=\"brand-word\">Duty Free Price Index<\/span>\n        <span class=\"brand-tag\">By Echolution<\/span>\n      <\/span>\n    <\/a>\n    <button class=\"theme-toggle\" id=\"themeToggle\" type=\"button\" aria-label=\"Toggle dark mode\">\n      <svg id=\"themeIcon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4 12H2M22 12h-2M5 5l1.4 1.4M17.6 17.6 19 19M5 19l1.4-1.4M17.6 6.4 19 5\"\/><\/svg>\n      <span id=\"themeLabel\">Dark mode<\/span>\n    <\/button>\n  <\/div>\n<\/header>\n\n<main id=\"top\">\n\n  <section class=\"hero container\">\n    <div class=\"hero-eyebrow\">Airside retail \u00b7 Updated periodically \u00b7 An Echolution intelligence report<\/div>\n    <h1>What the same bottle costs from Atlanta to Istanbul<\/h1>\n    <p class=\"lede\">A price comparison directory for duty-free products across major hub airports worldwide \u2014 normalised to USD, EUR and GBP so you can see who really has the best price airside. We&#8217;re building out coverage category by category and airport by airport: spirits is live now, with more added over time.<\/p>\n\n    <div class=\"stat-row\">\n      <div class=\"stat-card\"><div class=\"value\" id=\"statAirports\">\u2014<\/div><div class=\"label\">Airports compared<\/div><\/div>\n      <div class=\"stat-card\"><div class=\"value\" id=\"statProducts\">\u2014<\/div><div class=\"label\">Spirits SKUs tracked<\/div><\/div>\n      <div class=\"stat-card\"><div class=\"value\">3<\/div><div class=\"label\">Currencies (USD \/ EUR \/ GBP)<\/div><\/div>\n      <div class=\"stat-card\"><div class=\"value\" id=\"statConfirmed\">\u2014<\/div><div class=\"label\">Confirmed price points<\/div><\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section insight-section\" id=\"insight\">\n    <div class=\"container\">\n      <div class=\"insight-callout\">\n        <div class=\"insight-eyebrow\">Key insight<\/div>\n        <p class=\"insight-headline\">The identical bottle of <strong>Smirnoff Vodka, 1L<\/strong> costs <strong>$10.10<\/strong> at Dallas\/Fort Worth and <strong>$22.07<\/strong> at Lisbon \u2014 a <strong>119%<\/strong> difference for the same product.<\/p>\n        <p class=\"insight-sub\">Across the 17 spirits with enough official like-for-like coverage to compare airport-to-airport, the average gap between the cheapest and priciest airport is <strong>58%<\/strong> \u2014 rarely a rounding error, often worth checking before you buy.<\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <div class=\"page-tabs container\" id=\"pageTabs\">\n    <button class=\"page-tab active\" data-tab=\"directory\" type=\"button\">Price directory<\/button>\n    <button class=\"page-tab\" data-tab=\"airports\" type=\"button\">Airports<\/button>\n  <\/div>\n\n  <div class=\"tab-panel\" id=\"tabPanel-directory\">\n  <section class=\"section\" id=\"directory\">\n    <div class=\"container\">\n      <div class=\"section-head\">\n        <div>\n          <h2>Price directory<\/h2>\n          <p>Filter by airport and switch currency, or look up the cheapest airport for a single product. Prices are shown in the operator&#8217;s official online duty-free catalogue, converted at the FX rate below. Currently tracking Alcohol\/Spirits, with more categories added over time.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"view-toggle\" id=\"viewToggle\">\n        <button data-view=\"airport\" class=\"active\" type=\"button\">Airport-first<\/button>\n        <button data-view=\"product\" type=\"button\">Product-first<\/button>\n      <\/div>\n\n      <div id=\"airportFirstView\">\n      <div class=\"controls\">\n        <div class=\"control-group\">\n          <label for=\"groupFilter\">Group<\/label>\n          <select id=\"groupFilter\">\n            <option value=\"all\">All airports<\/option>\n            <option value=\"global_top10\">Global Top 10<\/option>\n            <option value=\"european_set\">European Duty-Free Set<\/option>\n          <\/select>\n        <\/div>\n        <div class=\"control-group\">\n          <label for=\"airportFilter\">Airport<\/label>\n          <select id=\"airportFilter\"><option value=\"all\">All airports<\/option><\/select>\n        <\/div>\n        <div class=\"control-group\">\n          <label>Currency<\/label>\n          <div class=\"currency-toggle\" id=\"currencyToggle\">\n            <button data-cur=\"usd\" class=\"active\" type=\"button\">USD<\/button>\n            <button data-cur=\"eur\" type=\"button\">EUR<\/button>\n            <button data-cur=\"gbp\" type=\"button\">GBP<\/button>\n          <\/div>\n        <\/div>\n        <label class=\"checkbox-field\">\n          <input type=\"checkbox\" id=\"showUnavailable\"> Show items with no price data\n        <\/label>\n      <\/div>\n\n      <p class=\"result-count\" id=\"resultCount\"><\/p>\n\n      <div class=\"table-wrap\">\n        <table class=\"pricing\">\n          <thead>\n            <tr>\n              <th data-sort=\"rank\">Rank <span class=\"arrow\">\u2195<\/span><\/th>\n              <th data-sort=\"airport\">Airport <span class=\"arrow\">\u2195<\/span><\/th>\n              <th>Group<\/th>\n              <th data-sort=\"product\">Product <span class=\"arrow\">\u2195<\/span><\/th>\n              <th data-sort=\"price\" style=\"text-align:right;\">Price <span class=\"arrow\">\u2195<\/span><\/th>\n              <th data-sort=\"confidence\">Confidence <span class=\"arrow\">\u2195<\/span><\/th>\n              <th>Source<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody id=\"tableBody\"><\/tbody>\n        <\/table>\n      <\/div>\n\n      <div class=\"legend\">\n        <div class=\"legend-item\"><span class=\"badge badge-official\">Official<\/span> exact product &#038; size match \u2014 true like-for-like<\/div>\n        <div class=\"legend-item\"><span class=\"badge badge-diffsize\">Different size<\/span> same product, different pack size \u2014 not like-for-like<\/div>\n        <div class=\"legend-item\"><span class=\"badge badge-bundle\">Bundle \/ gift set<\/span> sold only as a set or multi-pack \u2014 not like-for-like<\/div>\n        <div class=\"legend-item\"><span class=\"badge badge-substitute\">Substitute<\/span> closest available product, different SKU entirely<\/div>\n        <div class=\"legend-item\"><span class=\"badge badge-secondary\">Unverified<\/span> third-party or anecdotal price, not from the official retailer<\/div>\n        <div class=\"legend-item\"><span class=\"badge badge-none\">No data<\/span> not found at this airport<\/div>\n      <\/div>\n      <\/div>\n\n      <div id=\"productFirstView\" style=\"display:none;\">\n        <div class=\"product-lookup\">\n          <div class=\"control-group\">\n            <label for=\"productSelect\">Product<\/label>\n            <select id=\"productSelect\"><\/select>\n          <\/div>\n          <div class=\"control-group\">\n            <label>Currency<\/label>\n            <div class=\"currency-toggle\" id=\"currencyTogglePF\">\n              <button data-cur=\"usd\" class=\"active\" type=\"button\">USD<\/button>\n              <button data-cur=\"eur\" type=\"button\">EUR<\/button>\n              <button data-cur=\"gbp\" type=\"button\">GBP<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div id=\"productRankOutput\"><\/div>\n        <div class=\"legend\">\n          <div class=\"legend-item\"><span class=\"badge badge-cheapest\">Cheapest match<\/span> lowest like-for-like price for this product<\/div>\n          <div class=\"legend-item\"><span class=\"badge badge-official\">Official<\/span> true like-for-like \u2014 ranked by price<\/div>\n          <div class=\"legend-item\">Bundle \/ different-size \/ substitute prices are listed separately and never compared directly against like-for-like prices<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <\/div>\n\n  <div class=\"tab-panel\" id=\"tabPanel-airports\" style=\"display:none;\">\n  <section class=\"section\" id=\"airports\">\n    <div class=\"container\">\n      <div class=\"section-head\">\n        <div>\n          <h2>The airports<\/h2>\n          <p>Two groups: the world&#8217;s ten busiest airports by 2025 passenger traffic, and seven major European travel-retail hubs. Dubai and Istanbul belong to both.<\/p>\n        <\/div>\n        <div class=\"group-toggle\" id=\"groupToggle\">\n          <button data-group=\"all\" class=\"active\" type=\"button\">All<\/button>\n          <button data-group=\"global_top10\" type=\"button\">Global Top 10<\/button>\n          <button data-group=\"european_set\" type=\"button\">European Duty-Free Set<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"airport-list\" id=\"airportList\"><\/div>\n      <p style=\"font-size: var(--text-xs); color: var(--color-text-faint); margin-top: var(--space-4);\">\n        Sources: <a class=\"source-link\" href=\"https:\/\/aci.aero\/resources\/busiest-airports-in-the-world\/\" target=\"_blank\" rel=\"noopener noreferrer\">ACI World, Busiest Airports in the World (2025 preliminary traffic)<\/a>, <a class=\"source-link\" href=\"https:\/\/en.wikipedia.org\/wiki\/Charles_de_Gaulle_Airport\" target=\"_blank\" rel=\"noopener noreferrer\">Wikipedia airport traffic pages<\/a> and operator press releases for the European Duty-Free Set airports.\n      <\/p>\n    <\/div>\n  <\/section>\n  <\/div>\n\n  <section class=\"section cta-section\" id=\"get-in-touch\">\n    <div class=\"container\">\n      <div class=\"cta-callout\">\n        <div class=\"cta-eyebrow\">Grow with Echolution<\/div>\n        <h2>Want to reach more travellers at these airports?<\/h2>\n        <p class=\"cta-sub\">This index is reviewed and refreshed every few months as we add new categories and airports. Need it updated more frequently, or a bespoke report on a specific market, category or airport? Just ask \u2014 and if you&#8217;re ready to explore in-airport and digital marketing opportunities with the travellers who shop here, we&#8217;d love to talk.<\/p>\n        <div class=\"cta-buttons\">\n          <a class=\"btn-primary\" href=\"https:\/\/outlook.office.com\/bookwithme\/user\/d3b16a85f7c0435d814abe52b0dc74d7@echolution.com\/meetingtype\/sh9CKguqskm-csyzFmKo0w2?anonymous&amp;ismsaljsauthenabled\" target=\"_blank\" rel=\"noopener noreferrer\">Book a meeting<\/a>\n          <a class=\"btn-secondary\" href=\"https:\/\/www.echolution.com\/contact-us\/\">Contact us<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/main>\n\n<footer class=\"site-footer\">\n  <div class=\"container\">\n    <div class=\"footer-brand\">\n      <a href=\"https:\/\/echolution.com\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-logo-white.png\" srcset=\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-logo-white.png 1x, https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-logo-white@2x.png 2x\" alt=\"Echolution\"><\/a>\n      <span class=\"divider\"><\/span>\n      <span class=\"tagline\">Travel-retail media intelligence<\/span>\n    <\/div>\n    <p>Data compiled from official duty-free retailer catalogues, airport traffic statistics, and live FX rates, with select data points supplemented by a clearly flagged third-party source where noted. Prices change frequently and airside assortments vary by terminal \u2014 treat this directory as a snapshot, not a live price feed. Reviewed periodically as new categories and airports are added; for more frequent updates or a bespoke report, contact us. Produced by <a href=\"https:\/\/echolution.com\" target=\"_blank\" rel=\"noopener noreferrer\">Echolution<\/a>, a travel-retail media agency.<\/p>\n  <\/div>\n<\/footer>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jszip\/3.10.1\/jszip.min.js\"><\/script>\n<script>\n(function () {\n  function inject(text) {\n    var s = document.createElement(\"script\");\n    s.textContent = text;\n    document.body.appendChild(s);\n  }\n  fetch(\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/assets_text_v6.zip\")\n    .then(function (r) { return r.arrayBuffer(); })\n    .then(function (buf) { return window.JSZip.loadAsync(buf); })\n    .then(function (zip) {\n      return fetch(\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/data.txt\")\n        .then(function (r) { return r.text(); })\n        .then(function (dataText) {\n          inject(dataText);\n          return zip.files[\"app.txt\"].async(\"string\");\n        });\n    })\n    .then(function (appText) {\n      inject(appText);\n    });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Duty Free Price Index By Echolution Dark mode Airside retail \u00b7 Updated periodically \u00b7 An Echolution intelligence report What the same bottle costs from Atlanta to Istanbul A price comparison directory for duty-free products across major hub airports worldwide \u2014 normalised to USD, EUR and GBP so you can see who really has the best [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-3813","page","type-page","status-publish","hentry","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Duty Free Price Index: Airport Price Comparison | Echolution<\/title>\n<meta name=\"description\" content=\"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.echolution.com\/es\/duty-free-price-index\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Duty Free Price Index: Airport Price Comparison | Echolution\" \/>\n<meta property=\"og:description\" content=\"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.echolution.com\/es\/duty-free-price-index\/\" \/>\n<meta property=\"og:site_name\" content=\"Echolution\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T07:05:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/\",\"url\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/\",\"name\":\"Duty Free Price Index: Airport Price Comparison | Echolution\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.echolution.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/echolution-mini.png\",\"datePublished\":\"2026-09-08T21:12:09+00:00\",\"dateModified\":\"2026-09-10T07:05:22+00:00\",\"description\":\"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.echolution.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/echolution-mini.png\",\"contentUrl\":\"https:\\\/\\\/www.echolution.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/echolution-mini.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/duty-free-price-index\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.echolution.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Duty Free Price Index\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#website\",\"url\":\"https:\\\/\\\/www.echolution.com\\\/\",\"name\":\"Echolution\",\"description\":\"Travel-retail media agency\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.echolution.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#organization\",\"name\":\"Echolution\",\"url\":\"https:\\\/\\\/www.echolution.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.echolution.com\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Echolution_horizontal@2x.png\",\"contentUrl\":\"https:\\\/\\\/www.echolution.com\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Echolution_horizontal@2x.png\",\"width\":661,\"height\":158,\"caption\":\"Echolution\"},\"image\":{\"@id\":\"https:\\\/\\\/www.echolution.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/echolution\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Duty Free Price Index: Airport Price Comparison | Echolution","description":"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.echolution.com\/es\/duty-free-price-index\/","og_locale":"es_ES","og_type":"article","og_title":"Duty Free Price Index: Airport Price Comparison | Echolution","og_description":"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.","og_url":"https:\/\/www.echolution.com\/es\/duty-free-price-index\/","og_site_name":"Echolution","article_modified_time":"2026-09-10T07:05:22+00:00","og_image":[{"url":"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.echolution.com\/duty-free-price-index\/","url":"https:\/\/www.echolution.com\/duty-free-price-index\/","name":"Duty Free Price Index: Airport Price Comparison | Echolution","isPartOf":{"@id":"https:\/\/www.echolution.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.echolution.com\/duty-free-price-index\/#primaryimage"},"image":{"@id":"https:\/\/www.echolution.com\/duty-free-price-index\/#primaryimage"},"thumbnailUrl":"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png","datePublished":"2026-09-08T21:12:09+00:00","dateModified":"2026-09-10T07:05:22+00:00","description":"Compare duty-free prices across major airports worldwide and see who really offers the best value airside. Updated periodically by Echolution.","breadcrumb":{"@id":"https:\/\/www.echolution.com\/duty-free-price-index\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.echolution.com\/duty-free-price-index\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.echolution.com\/duty-free-price-index\/#primaryimage","url":"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png","contentUrl":"https:\/\/www.echolution.com\/wp-content\/uploads\/2026\/09\/echolution-mini.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.echolution.com\/duty-free-price-index\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.echolution.com\/"},{"@type":"ListItem","position":2,"name":"Duty Free Price Index"}]},{"@type":"WebSite","@id":"https:\/\/www.echolution.com\/#website","url":"https:\/\/www.echolution.com\/","name":"Echolution","description":"Agencia de medios de comercio minorista de viajes","publisher":{"@id":"https:\/\/www.echolution.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.echolution.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.echolution.com\/#organization","name":"Echolution","url":"https:\/\/www.echolution.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.echolution.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.echolution.com\/wp-content\/uploads\/2019\/06\/Echolution_horizontal@2x.png","contentUrl":"https:\/\/www.echolution.com\/wp-content\/uploads\/2019\/06\/Echolution_horizontal@2x.png","width":661,"height":158,"caption":"Echolution"},"image":{"@id":"https:\/\/www.echolution.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/echolution\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/pages\/3813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/comments?post=3813"}],"version-history":[{"count":9,"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/pages\/3813\/revisions"}],"predecessor-version":[{"id":3829,"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/pages\/3813\/revisions\/3829"}],"wp:attachment":[{"href":"https:\/\/www.echolution.com\/es\/wp-json\/wp\/v2\/media?parent=3813"}],"curies":[{"name":"\u00a1Bien jugado!","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}