.duudu-promo-showcase{width:100%;box-sizing:border-box}
.duudu-promo-showcase *{box-sizing:border-box}
.duudu-promo-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--duudu-promo-gap,24px);align-items:stretch}
.duudu-promo-card{display:flex;flex-direction:column;min-width:0;background:transparent;border:0;border-radius:0;overflow:visible}
.duudu-promo-card[hidden]{display:none!important}
.duudu-promo-card__image{aspect-ratio:4/5;overflow:hidden;background:#f5f5f5;border-radius:var(--duudu-promo-radius,12px)}
.duudu-promo-card__image img{width:100%;height:100%;display:block;object-fit:cover}
.duudu-promo-card__body{display:flex;flex:1;flex-direction:column;gap:16px;padding:15px 0 0}
.duudu-promo-card__title{margin:0!important;font-size:clamp(18px,1.55vw,25px)!important;line-height:1.14!important;font-weight:700!important;text-align:center;color:inherit}
.duudu-promo-card__button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:auto;padding:11px 18px;border:0;border-radius:8px;background:var(--duudu-promo-accent,#ffd426);color:var(--duudu-promo-accent-text,#111)!important;font-weight:700;text-align:center;text-decoration:none!important;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.duudu-promo-card__button:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.12)}
.duudu-promo-card__button:focus-visible,.duudu-promo-showcase__more-button:focus-visible,.duudu-promo-modal__close:focus-visible,.duudu-promo-modal__nav:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.duudu-promo-showcase__more{display:flex;justify-content:center;margin-top:18px}
.duudu-promo-showcase__more-button{appearance:none;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:600;cursor:pointer;padding:8px 12px}

/* Popup / gallery ------------------------------------------------------ */
.duudu-promo-modal[hidden]{display:none!important}
.duudu-promo-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}
.duudu-promo-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.78);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.duudu-promo-modal__dialog{position:relative;z-index:1;width:min(1320px,100%);max-height:min(92vh,960px);overflow:hidden;background:#f8fafc;color:#111827;border:1px solid rgba(255,255,255,.18);border-radius:24px;box-shadow:0 34px 110px rgba(0,0,0,.42)}
.duudu-promo-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:26px 30px 20px;background:#fff;border-bottom:1px solid #e5e7eb}
.duudu-promo-modal__heading{min-width:0}
.duudu-promo-modal__eyebrow{display:block;margin-bottom:6px;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.13em;color:#64748b}
.duudu-promo-modal__head h2{margin:0!important;font-size:clamp(25px,2.15vw,36px)!important;line-height:1.05!important;color:#111827!important}
.duudu-promo-modal__summary{margin:8px 0 0!important;font-size:14px;line-height:1.45;color:#64748b}
.duudu-promo-modal__summary strong{color:#111827}
.duudu-promo-modal__close{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;margin:0;border:1px solid #e2e8f0;border-radius:50%;background:#fff;color:#111827;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.07);transition:background .15s ease,transform .15s ease}
.duudu-promo-modal__close:hover{background:#f1f5f9;transform:rotate(3deg)}
.duudu-promo-modal__gallery{position:relative;padding:24px 76px 18px}
.duudu-promo-modal__viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.duudu-promo-modal__viewport::-webkit-scrollbar{display:none}
.duudu-promo-modal__items{display:flex;align-items:stretch;gap:22px;width:max-content}
.duudu-promo-modal__items .duudu-promo-card{flex:0 0 min(340px,calc((100vw - 260px)/3));width:min(340px,calc((100vw - 260px)/3));scroll-snap-align:start;background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.duudu-promo-modal__items .duudu-promo-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(15,23,42,.13);border-color:#d7dee8}
.duudu-promo-modal__items .duudu-promo-card__image{border-radius:0;background:#eef2f7}
.duudu-promo-modal__items .duudu-promo-card__body{padding:16px 18px 18px;gap:14px}
.duudu-promo-modal__items .duudu-promo-card__title{font-size:19px!important;line-height:1.22!important;text-align:left!important;color:#111827!important}
.duudu-promo-modal__items .duudu-promo-card__button{min-height:44px;border-radius:10px}
.duudu-promo-modal__nav{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:46px;height:46px;margin:0;border:1px solid #dbe2ea;border-radius:50%;background:#fff;color:#111827;font-size:36px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.14);transform:translateY(-50%);transition:opacity .15s ease,transform .15s ease,background .15s ease}
.duudu-promo-modal__nav:hover:not(:disabled){background:#f8fafc;transform:translateY(-50%) scale(1.04)}
.duudu-promo-modal__nav:disabled{opacity:.28;cursor:default;box-shadow:none}
.duudu-promo-modal__nav.is-prev{left:18px}
.duudu-promo-modal__nav.is-next{right:18px}
.duudu-promo-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 30px 22px;color:#64748b;font-size:12px}
.duudu-promo-modal__position{font-weight:800;color:#334155}
.duudu-promo-modal__hint{font-weight:500}
body.duudu-promo-modal-open{overflow:hidden}
.duudu-promo-empty{padding:14px 16px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569}

@media(max-width:1050px){
  .duudu-promo-modal__gallery{padding-left:68px;padding-right:68px}
  .duudu-promo-modal__items .duudu-promo-card{flex-basis:calc((100vw - 210px)/2);width:calc((100vw - 210px)/2);max-width:360px}
}
@media(max-width:900px){
  .duudu-promo-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .duudu-promo-showcase__grid{grid-template-columns:1fr}
  .duudu-promo-modal{align-items:stretch;padding:0}
  .duudu-promo-modal__dialog{width:100%;max-height:none;height:100dvh;border:0;border-radius:0}
  .duudu-promo-modal__head{padding:18px 18px 15px;gap:14px}
  .duudu-promo-modal__eyebrow{font-size:10px}
  .duudu-promo-modal__head h2{font-size:25px!important}
  .duudu-promo-modal__summary{font-size:12px;margin-top:6px!important;max-width:290px}
  .duudu-promo-modal__summary{font-size:0}
  .duudu-promo-modal__summary strong{font-size:12px}
  .duudu-promo-modal__summary strong:after{content:' promociones disponibles';font-size:12px;font-weight:500;color:#64748b}
  .duudu-promo-modal__close{width:42px;height:42px;flex-basis:42px;font-size:28px}
  .duudu-promo-modal__gallery{padding:18px 16px 12px}
  .duudu-promo-modal__viewport{scroll-padding-left:0}
  .duudu-promo-modal__items{gap:14px}
  .duudu-promo-modal__items .duudu-promo-card{flex-basis:calc(100vw - 48px);width:calc(100vw - 48px);max-width:none}
  .duudu-promo-modal__items .duudu-promo-card__body{padding:14px 16px 16px}
  .duudu-promo-modal__items .duudu-promo-card__title{font-size:18px!important}
  .duudu-promo-modal__nav{display:none}
  .duudu-promo-modal__footer{padding:0 18px 16px;justify-content:center}
  .duudu-promo-modal__hint{display:none}
  .duudu-promo-card__title{font-size:20px!important}
}

/* V1.7.2 — Responsive density for compact desktop screens ------------------ */
/* Keep the 4:5 artwork intact, but reduce each card's footprint when the
   available desktop viewport is narrower or shorter. This keeps titles and
   contact buttons visible without requiring unnecessary vertical scrolling. */
@media (min-width:901px) and (max-width:1500px), (min-width:901px) and (max-height:900px){
  .duudu-promo-showcase__grid{max-width:960px;margin-left:auto;margin-right:auto;gap:min(var(--duudu-promo-gap,24px),18px)}
  .duudu-promo-card__body{gap:10px;padding-top:11px}
  .duudu-promo-card__title{font-size:clamp(16px,1.35vw,20px)!important;line-height:1.18!important}
  .duudu-promo-card__button{min-height:40px;padding:8px 14px;font-size:14px}
  .duudu-promo-showcase__more{margin-top:12px}

  .duudu-promo-modal{padding:16px}
  .duudu-promo-modal__dialog{width:min(1180px,100%);max-height:94vh;border-radius:20px}
  .duudu-promo-modal__head{gap:20px;padding:17px 22px 14px}
  .duudu-promo-modal__eyebrow{margin-bottom:4px;font-size:10px}
  .duudu-promo-modal__head h2{font-size:clamp(22px,2vw,29px)!important}
  .duudu-promo-modal__summary{margin-top:5px!important;font-size:12px}
  .duudu-promo-modal__close{width:40px;height:40px;flex-basis:40px;font-size:26px}
  .duudu-promo-modal__gallery{padding:15px 58px 10px}
  .duudu-promo-modal__items{gap:16px}
  .duudu-promo-modal__items .duudu-promo-card{flex:0 0 270px;width:270px;max-width:270px;border-radius:15px}
  .duudu-promo-modal__items .duudu-promo-card__body{padding:11px 14px 13px;gap:9px}
  .duudu-promo-modal__items .duudu-promo-card__title{font-size:16px!important;line-height:1.18!important}
  .duudu-promo-modal__items .duudu-promo-card__button{min-height:38px;padding:8px 12px;font-size:13px;border-radius:8px}
  .duudu-promo-modal__nav{width:40px;height:40px;font-size:31px}
  .duudu-promo-modal__nav.is-prev{left:10px}
  .duudu-promo-modal__nav.is-next{right:10px}
  .duudu-promo-modal__footer{padding:0 22px 13px;font-size:11px}
}

/* Extra compact mode for 1366×768-class displays and similar short desktops. */
@media (min-width:901px) and (max-height:820px){
  .duudu-promo-showcase__grid{max-width:840px;gap:14px}
  .duudu-promo-card__body{gap:8px;padding-top:9px}
  .duudu-promo-card__title{font-size:16px!important;line-height:1.15!important}
  .duudu-promo-card__button{min-height:38px;padding:7px 12px;font-size:13px}

  .duudu-promo-modal__dialog{width:min(1080px,100%);max-height:96vh}
  .duudu-promo-modal__head{padding:12px 18px 10px}
  .duudu-promo-modal__summary{display:none}
  .duudu-promo-modal__gallery{padding:12px 52px 8px}
  .duudu-promo-modal__items{gap:14px}
  .duudu-promo-modal__items .duudu-promo-card{flex-basis:238px;width:238px;max-width:238px}
  .duudu-promo-modal__items .duudu-promo-card__body{padding:9px 12px 10px;gap:7px}
  .duudu-promo-modal__items .duudu-promo-card__title{font-size:15px!important}
  .duudu-promo-modal__items .duudu-promo-card__button{min-height:34px;padding:6px 10px;font-size:12px}
  .duudu-promo-modal__footer{padding:0 18px 9px}
}

/* Prevent the two-column breakpoint from making cards oversized on compact
   laptop/tablet widths. */
@media (min-width:641px) and (max-width:900px){
  .duudu-promo-showcase__grid{max-width:680px;margin-left:auto;margin-right:auto;gap:min(var(--duudu-promo-gap,24px),18px)}
  .duudu-promo-card__body{gap:10px;padding-top:10px}
  .duudu-promo-card__title{font-size:17px!important}
  .duudu-promo-card__button{min-height:40px;padding:8px 13px;font-size:14px}
}

@media (max-width:640px){
  .duudu-promo-showcase__grid{max-width:430px;margin-left:auto;margin-right:auto}
}

