.gai {
  --gai-bg: #141414;
  --gai-paper: #f7f2e6;
  --gai-fg: #f7f2e6;
  --gai-muted: #c3cbd1;
  --gai-mint: #d4f1e8;
  --gai-sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gai-mono: "DejaVu Sans Mono", ui-monospace, "Courier New", monospace;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  grid-template-areas: "brand offer" "title offer" "meta offer" "actions actions";
  align-content: center;
  align-items: center;
  gap: 8px 14px;
  width: 100%;
  min-height: 196px;
  padding: 17px 20px;
  overflow: hidden;
  border: 1px solid #3d444b;
  border-radius: 12px;
  background: var(--gai-bg);
  color: var(--gai-fg);
  font: 400 14px/1.3 var(--gai-sans);
  box-sizing: border-box;
}

.gai *, .gai *::before, .gai *::after { box-sizing: border-box; }
.gai img { display: block; border: 0; margin: 0; }
.gai__brand, .gai__title, .gai__meta, .gai__venue, .gai__offer, .gai__actions { position: relative; z-index: 1; min-width: 0; }

.gai__brand { grid-area: brand; display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; }
.gai img.gai__logo { width: 116px; max-width: 100%; height: auto; }
.gai__edition { color: var(--gai-muted); font: 700 9px/1.4 var(--gai-mono); }
.gai__title { grid-area: title; max-width: 28ch; font: 750 27px/1.08 var(--gai-sans); letter-spacing: -.025em; text-wrap: balance; }
.gai__meta { grid-area: meta; color: var(--gai-muted); font: 700 11px/1.4 var(--gai-mono); }
.gai__venue { color: var(--gai-muted); font-size: 11px; }
.gai__offer { grid-area: offer; display: flex; flex-direction: column; justify-content: center; align-items: start; gap: 5px; }
.gai__discount { display: block; font: 800 61px/1 var(--gai-sans); letter-spacing: -.04em; white-space: nowrap; }
.gai__offer-copy { font: 750 10px/1.4 var(--gai-sans); text-transform: uppercase; }
.gai__offer-copy > span { display: block; }
.gai__actions { grid-area: actions; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gai__coupon { display: grid; align-content: center; justify-items: start; gap: 3px; min-height: 42px; width: 240px; max-width: 100%; padding: 5px 10px; border-radius: 4px; background: var(--gai-paper); color: #141414; }
.gai__coupon-label { color: #414548; font: 750 7px/1.1 var(--gai-sans); letter-spacing: .05em; }
.gai code.gai__code { display: block; padding: 0; border: 0; background: transparent; color: #141414; font: 700 19px/1.05 var(--gai-mono); letter-spacing: -.02em; white-space: nowrap; overflow-wrap: normal; word-break: normal; user-select: all; }
.gai__cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 35px; padding: 7px 10px; border-radius: 4px; background: var(--gai-paper); color: #141414; font: 750 11px/1.2 var(--gai-sans); white-space: nowrap; }
.gai__cta svg { display: block; flex: none; }
.gai__art { position: absolute; z-index: 0; inset: 0 0 0 auto; width: 35%; overflow: hidden; opacity: .45; }
.gai__art img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 80% 45%; }
.gai--home { min-height: 316px; padding: 24px 31px; grid-template-columns: minmax(0, 1fr) 211px; grid-template-areas: "brand offer" "title offer" "meta ." "actions ."; row-gap: 17px; }
.gai--home .gai__art { width: 56%; opacity: 1; mask-image: linear-gradient(90deg, transparent, #000 23%); }
.gai--home .gai__brand { gap: 13px 18px; }
.gai--home img.gai__logo { width: 165px; }
.gai--home .gai__edition { font-size: 10px; }
.gai--home .gai__title { font-size: clamp(30px, 4vw, 40px); max-width: 25ch; }
.gai--home .gai__meta { font-size: 13px; }
.gai--home .gai__offer { align-self: start; min-height: 153px; padding: 15px 18px; border-radius: 6px; background: var(--gai-paper); color: #141414; }
.gai--home .gai__discount { font-size: 70px; }
.gai--home .gai__coupon { width: 274px; min-height: 48px; }
.gai--home .gai__code { font-size: 22px; }
.gai--home .gai__cta { min-height: 39px; font-size: 13px; }
.gai--evento { --gai-bg: #191b24; --gai-paper: #e2d3f4; }
.gai--evento .gai__offer { color: var(--gai-paper); }
.gai--categoria { --gai-bg: #1a1a24; display: flex; flex-direction: column; align-items: start; gap: 10px; min-height: 190px; padding: 17px 20px 16px 164px; }
.gai--categoria .gai__offer { position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 145px; padding: 0 15px; border-right: 1px dashed #747777; background: var(--gai-paper); color: #141414; }
.gai--categoria .gai__discount { font-size: 46px; }
.gai--categoria .gai__title { font-size: 24px; }
.gai--categoria .gai__art { width: 31%; }
.gai--categoria .gai__edition { font-size: 9px; }
.gai--ubicacion { --gai-bg: #191d21; --gai-paper: #d4f1e8; display: flex; flex-direction: column; align-items: start; gap: 11px; max-width: 340px; min-height: 418px; padding: 140px 16px 14px; }
.gai--ubicacion .gai__art { top: 0; left: 0; right: 0; bottom: auto; width: 100%; height: 125px; opacity: 1; border-bottom: 3px solid var(--gai-mint); }
.gai--ubicacion .gai__brand { position: absolute; top: 16px; left: 16px; right: 16px; }
.gai--ubicacion img.gai__logo { width: 137px; }
.gai--ubicacion .gai__edition { margin-top: 82px; width: 100%; font-size: 9px; }
.gai--ubicacion .gai__title { font-size: 26px; max-width: 15ch; }
.gai--ubicacion .gai__offer { flex-direction: row; gap: 11px; align-items: center; color: var(--gai-mint); }
.gai--ubicacion .gai__discount { font-size: 35px; }
.gai--ubicacion .gai__offer-copy { text-transform: none; font-size: 10px; }
.gai--ubicacion .gai__actions { width: 100%; gap: 10px; }
.gai--ubicacion .gai__coupon, .gai--ubicacion .gai__cta { width: 100%; }
.gai--ubicacion .gai__code { font-size: 20px; }
.gai--calendario { --gai-bg: #1b1c21; --gai-paper: #d4f1e8; grid-template-columns: 162px minmax(0, 1fr); grid-template-areas: "brand brand" "offer actions"; gap: 10px 12px; min-height: 104px; margin-block-start: 12px; padding: 12px 13px; border-left: 4px solid var(--gai-mint); border-radius: 8px; }
.gai--calendario .gai__brand { gap: 14px; }
.gai--calendario .gai__edition { font: 750 12px/1.3 var(--gai-sans); color: var(--gai-fg); }
.gai--calendario .gai__offer { flex-direction: row; align-items: center; gap: 9px; color: var(--gai-mint); }
.gai--calendario .gai__discount { font-size: 25px; }
.gai--calendario .gai__offer-copy { font-size: 10px; text-transform: none; }
.gai--calendario .gai__actions { flex-wrap: nowrap; gap: 10px; }
.gai--calendario .gai__coupon { width: 197px; min-height: 36px; }
.gai--calendario .gai__code { font-size: 16px; }
.gai--calendario .gai__coupon-label { font-size: 6px; }
.gai--calendario .gai__cta { font-size: 10px; padding-inline: 7px; gap: 4px; }
.gai--movil { --gai-bg: #15191c; --gai-paper: #d4f1e8; grid-template-columns: minmax(0, 1fr); grid-template-areas: "brand" "meta" "offer" "actions"; gap: 10px; max-width: 480px; min-height: 198px; padding: 13px 15px; }
.gai--movil .gai__edition { font-size: 8px; }
.gai--movil .gai__brand { flex-wrap: nowrap; gap: 10px; }
.gai--movil .gai__meta { font-size: 10px; }
.gai--movil .gai__offer { flex-direction: row; align-items: center; gap: 12px; color: var(--gai-mint); }
.gai--movil .gai__discount { font-size: 49px; }
.gai--movil .gai__offer-copy { font-size: 12px; text-transform: none; }
.gai--movil .gai__actions { flex-wrap: nowrap; gap: 10px; }
.gai--movil .gai__coupon { width: 218px; min-height: 40px; }
.gai--movil .gai__code { font-size: 18px; }
.gai--movil .gai__cta { font-size: 10px; padding-inline: 7px; gap: 5px; }
.gai-image { display: block; width: min(100%, var(--gai-image-width, 100%)); }
.gai-image img { display: block; width: 100%; height: auto; border: 0; }
@media(max-width:640px) {
  .gai { padding: 14px 15px; }
  .gai__brand { gap: 7px 10px; }
  .gai__edition { font-size: 8px; }
  .gai__meta { font-size: 10px; }
  .gai__actions { gap: 8px; }
  .gai__title { font-size: 24px; }
  .gai__code { font-size: 17px; }
  .gai__cta { font-size: 10px; padding-inline: 7px; gap: 5px; }
  .gai--solo-escritorio { display:none; }
  .gai-image { width:min(100%,var(--gai-image-width-mobile,var(--gai-image-width,100%))); }
  .gai--home { display: flex; flex-direction: column; align-items: start; gap: 12px; min-height: 284px; padding-top: 126px; }
  .gai--home .gai__art { inset: 0 0 auto; width: 100%; height: 113px; mask-image: none; border-bottom: 3px solid var(--gai-mint); }
  .gai--home .gai__brand { position:absolute; top:16px; left:15px; }
  .gai--home img.gai__logo { width:132px; }
  .gai--home .gai__edition { display:none; }
  .gai--home .gai__offer { position:absolute; top:12px; right:14px; min-height:88px; width:88px; gap:3px; padding:8px; }
  .gai--home .gai__discount { font-size:33px; }
  .gai--home .gai__offer-copy { font-size:7px; }
  .gai--home .gai__title { font-size:25px; }
  .gai--home .gai__meta { font-size:10px; }
  .gai--home .gai__actions { flex-wrap:nowrap; }
  .gai--home .gai__coupon { width:211px; min-height:46px; }
  .gai--home .gai__code { font-size:18px; }
  .gai--home .gai__cta { font-size:10px; min-height:35px; }
  .gai--evento { grid-template-columns: minmax(0,1fr); grid-template-areas: "brand" "title" "meta" "offer" "actions"; min-height:231px; }
  .gai--evento .gai__offer { flex-direction:row; align-items:center; gap:12px; }
  .gai--evento .gai__discount { font-size:35px; }
  .gai--evento .gai__offer-copy { font-size:10px; text-transform:none; }
  .gai--evento .gai__actions { flex-wrap:nowrap; }
  .gai--evento .gai__coupon { width:215px; min-height:36px; }
  .gai--evento .gai__coupon-label { font-size:6px; }
  .gai--evento .gai__code { font-size:17px; }
  .gai--categoria { display:flex; padding:15px 16px 10px 112px; min-height:240px; gap:11px; }
  .gai--categoria .gai__offer { width:96px; padding:11px; }
  .gai--categoria .gai__discount { font-size:34px; }
  .gai--categoria .gai__offer-copy { font-size:7px; }
  .gai--categoria .gai__title { font-size:22px; }
  .gai--categoria .gai__art { display:none; }
  .gai--categoria .gai__actions { width:100%; gap:6px; }
  .gai--categoria .gai__coupon { width:100%; min-height:39px; }
  .gai--categoria .gai__code { font-size:clamp(13px,4.6vw,18px); }
  .gai--categoria .gai__cta { min-height:27px; }
  .gai--calendario { grid-template-columns:minmax(0,1fr); grid-template-areas:"brand" "offer" "actions"; padding:10px 11px; gap:9px; min-height:122px; }
  .gai--calendario img.gai__logo { width:100px; }
  .gai--calendario .gai__edition { font-size:9px; }
  .gai--calendario .gai__offer { gap:4px; }
  .gai--calendario .gai__discount { font-size:13px; letter-spacing:0; }
  .gai--calendario .gai__offer-copy { font-size:12px; font-weight:700; }
  .gai--calendario .gai__offer-copy > span { display:inline; }
  .gai--calendario .gai__actions { gap:8px; }
  .gai--calendario .gai__coupon { flex:1; min-width:0; }
  .gai--calendario .gai__code { font-size:clamp(13px,4.2vw,15px); }
  .gai--calendario .gai__cta { font-size:9px; padding-inline:6px; }
  .gai--ubicacion { padding:140px 16px 14px; }
  .gai--movil { padding:13px 15px; }
}
@media(min-width:641px) {
  .gai--solo-movil,.gai-image--solo-movil { display:none; }
}

/* Integración en la agenda (Queseo Eventos): bloque clicable, foco visible y texto para lectores. */
.gai[role="link"] { cursor: pointer; }
.gai[role="link"]:focus-visible { outline: 3px solid var(--gai-mint); outline-offset: 3px; }
.gai__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.gai[data-queseo-banner] { margin-block: 24px; }
.gai--calendario[data-queseo-banner] { margin-block: 12px 0; }
.qse-lateral .gai--ubicacion[data-queseo-banner] { margin-block: 0 24px; }
/* En la hoja original `.gai--home { display:flex }` pisaba a `.gai--solo-escritorio` en móvil. */
@media (max-width:640px) { .gai.gai--solo-escritorio { display: none; } }
@media (min-width:641px) { .gai.gai--solo-movil { display: none; } }
/* Aviso de publicidad, discreto, en la esquina inferior derecha. */
.gai__ad { position: absolute; right: 8px; bottom: 5px; z-index: 3; font: 500 9px/1 var(--gai-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--gai-muted); opacity: .6; pointer-events: none; }
