/* Promotions use the same identity, cards and controls as the public directory. */
.ujt-promotions-section{padding:0 0 var(--space-4);margin:0 0 var(--space-4);min-width:0}
.ujt-promotions-section .pro-section-heading{margin-bottom:var(--space-3)}
.ujt-promotions-section .ujt-promotions-examples,.ujt-promotions-examples{font-size:var(--font-size-small);color:var(--sub);line-height:var(--line-height-body)}
.ujt-promotions-rail{--pro-gap:var(--space-3)}
.ujt-promotions-rail .pro-rail-arrow{top:calc(var(--pro-rail-photo-height,184px) - 22px)}
.ujt-promotions-section>.ujt-promotions-examples{text-align:center;margin:var(--space-1) 0 0}
.ujt-promotions-rail .ujt-promotion-card{flex:0 0 calc((100% - 3 * var(--space-3))/4);scroll-snap-align:start}
.ujt-promotion-card{min-width:0;border:1px solid var(--line);border-radius:var(--ui-radius-card);background:var(--white);box-shadow:var(--shadow);display:flex}
.ujt-promotion-card-link{display:flex;flex-direction:column;min-width:0;width:100%;color:var(--navy);text-decoration:none}
.ujt-promotion-card-link:hover{color:var(--navy);text-decoration:none}
.ujt-promotion-card-link:hover h3{text-decoration:underline;text-underline-offset:4px}
.ujt-promotion-card-link:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:var(--ui-radius-card)}
.ujt-promotion-photo{position:relative;aspect-ratio:3/2;flex:none;min-width:0}
.ujt-promotion-photo>img{position:absolute;inset:0;display:block;object-position:center 30%;width:100%;height:100%;object-fit:cover;border-top-left-radius:var(--ui-radius-card);border-top-right-radius:var(--ui-radius-card)}
.ujt-promotion-badge{position:absolute;right:var(--space-2);bottom:-20px;width:var(--ui-control-min);height:var(--ui-control-min);display:grid;place-items:center;border-radius:var(--ui-radius-circle);color:var(--navy);background:var(--white)}
.ujt-promotion-badge.is-exclusive{background:var(--cyan);color:var(--white)}
.ujt-promotion-badge>svg{width:26px;height:26px}
.ujt-promotion-offer{padding:var(--space-3) var(--space-2) var(--space-2);flex:1;min-width:0;min-height:116px}
.ujt-promotion-kind{display:block;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-menu);text-transform:uppercase;color:var(--sub);margin-bottom:var(--space-1)}
.ujt-promotion-offer h3{font-size:var(--font-size-input-mobile);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);letter-spacing:0;margin:0;overflow-wrap:anywhere}
.ujt-promotion-provider{min-height:100px;padding:var(--space-2);border-top:1px solid var(--line);min-width:0}
.ujt-promotion-provider>strong{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-heading);margin:0 0 var(--space-1)}
.ujt-promotion-provider>p{display:flex;align-items:baseline;flex-wrap:nowrap;gap:4px;font-size:var(--font-size-small);line-height:var(--line-height-menu);color:var(--sub);margin:0}
.ujt-promotion-meta{min-width:0}
.ujt-promotion-meta::before{content:"·";margin-right:4px}
.ujt-promotion-score{display:inline-flex;align-items:center;gap:4px;color:var(--navy);white-space:nowrap}
.ujt-promotion-score img{width:16px;height:16px;flex:none}
.ujt-promotion-score strong{font-weight:var(--font-weight-medium)}
.ujt-promotions-all{display:flex;justify-content:center;margin-top:var(--space-3)}
.ujt-promotions-all .btn{max-width:100%;white-space:normal}
.ujt-promotions-page{padding-bottom:calc(var(--space-4) * 2)}
.ujt-promotion-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-height:52px;padding-block:var(--space-1);font-size:var(--font-size-small);color:var(--sub)}
.ujt-promotion-breadcrumbs a{min-height:var(--ui-control-min);display:inline-flex;align-items:center}
.ujt-promotion-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.ujt-promotion-hero{position:relative;isolation:isolate;background:var(--navy);min-height:240px;display:flex;align-items:center}
.ujt-promotion-hero>img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center 57%;opacity:.35}
.ujt-promotion-hero>.container{width:100%;padding-block:var(--space-4)}
.ujt-promotion-hero h1{font-size:var(--font-size-section);line-height:var(--line-height-heading);text-align:center;color:var(--white);max-width:850px;margin:0 auto var(--space-4);text-wrap:balance}
.ujt-promotion-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:var(--space-1);max-width:960px;margin:auto;align-items:center}
.ujt-promotion-filters label{display:block;min-width:0}
.ujt-promotion-filters select{width:100%;max-width:100%;min-width:0;min-height:48px;padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--ui-radius-field);background:var(--white);color:var(--navy);font-size:var(--font-size-body);text-overflow:ellipsis}
.ujt-promotion-filters .btn{min-height:48px}
.ujt-promotion-filters select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.ujt-promotion-tabs{display:flex;justify-content:center;gap:var(--space-4);border-bottom:1px solid var(--line);padding-top:var(--space-1);margin-bottom:var(--space-4)}
.ujt-promotion-tabs>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);text-align:center;min-height:90px;padding:var(--space-2) 0;border-bottom:3px solid transparent;color:var(--navy);font-size:var(--font-size-body)}
.ujt-promotion-tabs>a>svg{width:24px;height:24px;flex:none}
.ujt-promotion-tabs>a small{font-size:var(--font-size-small);color:var(--sub);margin-left:4px}
.ujt-promotion-tabs>a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.ujt-promotion-tabs>a[aria-current=page]{border-bottom-color:var(--cyan)}
.ujt-promotions-results{scroll-margin-top:140px}
.ujt-promotions-results-heading{text-align:center;margin:0 0 var(--space-4)}
.ujt-promotions-results-heading h2{font-size:var(--font-size-section);line-height:var(--line-height-heading);margin:0 0 var(--space-1)}
.ujt-promotions-results-heading>p{margin:0 0 var(--space-1);color:var(--sub)}
.ujt-promotions-results-heading>.text-link{margin-top:var(--space-1);min-height:var(--ui-control-min)}
.ujt-promotions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.ujt-promotion-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-4)}
.ujt-promotion-pagination .btn{padding:var(--space-1) var(--space-2);min-width:var(--ui-control-min);min-height:var(--ui-control-min)}
.ujt-promotion-current{display:grid;place-items:center;min-width:var(--ui-control-min);min-height:var(--ui-control-min);border-radius:var(--ui-radius-button);color:var(--white);background:var(--cyan);font-weight:var(--font-weight-semibold)}
.ujt-promotions-empty{padding:var(--space-4);text-align:center;border:1px solid var(--line);border-radius:var(--ui-radius-card);background:var(--soft)}
.ujt-promotions-empty h3{font-size:var(--font-size-subheading);margin:0 0 var(--space-2)}
.ujt-promotions-empty p{margin:0 0 var(--space-3);color:var(--sub)}
.ujt-promotion-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--ui-radius-card);margin-bottom:calc(var(--space-4) * 2);scroll-margin-top:140px}
.ujt-promotion-detail-photo{width:100%;height:100%;max-height:440px;object-fit:cover;border-radius:var(--ui-radius-card)}
.ujt-promotion-detail-copy{min-width:0}
.ujt-promotion-example-label{display:inline-flex;padding:4px var(--space-1);margin-bottom:var(--space-2);font-size:var(--font-size-small);color:var(--navy);background:var(--pale);border-radius:var(--ui-radius-button)}
.ujt-promotion-detail-copy h2{font-size:var(--font-size-section);line-height:var(--line-height-heading);margin:0 0 var(--space-2)}
.ujt-promotion-detail-copy>p{margin:0 0 var(--space-2);line-height:var(--line-height-body)}
.ujt-promotion-detail-provider{display:flex;flex-direction:column;gap:var(--space-1);color:var(--sub)}
.ujt-promotion-detail-provider>strong{color:var(--navy);font-weight:var(--font-weight-medium)}
.ujt-promotion-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.ujt-promotion-detail-actions .btn{white-space:normal}
.ujt-promotion-detail-actions .text-link{min-height:var(--ui-control-min)}
@media(max-width:1100px){.ujt-promotions-rail .ujt-promotion-card{flex-basis:calc((100% - 2 * var(--space-3))/3)}.ujt-promotions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ujt-promotion-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ujt-promotion-filters>.btn{grid-column:1/-1;justify-self:center}.ujt-promotion-tabs{gap:var(--space-3)}}
@media(max-width:800px){.ujt-promotions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ujt-promotion-tabs{justify-content:flex-start;gap:var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:var(--space-1)}.ujt-promotion-tabs>a{flex:none}.ujt-promotion-detail{grid-template-columns:minmax(0,1fr)}.ujt-promotion-detail-photo{max-height:340px;aspect-ratio:3/2}.ujt-promotion-hero h1{font-size:var(--font-size-section)}}
@media(max-width:700px){.ujt-promotions-rail .ujt-promotion-card{flex-basis:85%}.ujt-promotion-filters{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.ujt-promotion-filters select{font-size:var(--font-size-input-mobile)}.ujt-promotion-filters>.btn{justify-self:stretch;width:100%}.ujt-promotion-hero>.container{padding-block:var(--space-3)}.ujt-promotion-hero h1{font-size:var(--font-size-subheading);margin-bottom:var(--space-3)}.ujt-promotions-section{margin-bottom:var(--space-3)}.ujt-promotion-tabs>a{min-height:84px;font-size:var(--font-size-small)}.ujt-promotion-tabs{margin-bottom:var(--space-3)}.ujt-promotion-detail{padding:var(--space-2);gap:var(--space-3)}.ujt-promotion-detail-copy h2,.ujt-promotions-results-heading h2{font-size:var(--font-size-subheading)}}
@media(max-width:480px){.ujt-promotions-grid{grid-template-columns:minmax(0,1fr)}.ujt-promotion-offer{min-height:0}.ujt-promotions-all .btn{width:100%}.ujt-promotion-detail-actions .btn{width:100%}.ujt-promotion-detail-photo{max-height:none}}
@media(prefers-reduced-motion:reduce){.ujt-promotions-rail .pro-rail-track,.ujt-promotion-tabs{scroll-behavior:auto}}
