.rp-companies{--company-yellow:#f5c900;--company-panel:#151718}.rp-company-section{padding-top:40px;padding-bottom:40px}.rp-company-hero{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;padding:60px 0;background:#121414}.rp-company-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.rp-company-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.35))}.rp-company-hero h1{font-size:clamp(32px,4vw,56px);line-height:1.12;max-width:850px;margin:14px 0}.rp-company-hero p{max-width:680px;font-size:19px;line-height:1.65}.rp-company-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:35px 0}.rp-company-category-tile{display:flex;position:relative;isolation:isolate;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:155px;padding:20px;background:#151718;border:1px solid #303334;color:white;gap:8px}.rp-company-category-tile>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.28}.rp-company-category-tile>span{color:var(--company-yellow);font-size:30px}.rp-company-category-tile:hover,.rp-company-category-tile:focus-visible{border-color:var(--company-yellow);color:var(--company-yellow)}.rp-company-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:25px}.rp-company-card{background:var(--company-panel);border:1px solid #2b2e2f;min-width:0;overflow:hidden;display:flex;flex-direction:column}.rp-company-photo{display:block;aspect-ratio:16/10;background:#202324;overflow:hidden}.rp-company-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.rp-company-photo:hover img{transform:scale(1.035)}.rp-company-photo-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#aaa}.rp-company-card-body{padding:20px;flex:1;display:flex;flex-direction:column;align-items:flex-start;overflow-wrap:anywhere}.rp-company-card h3{font-size:22px;margin:8px 0}.rp-company-card p{font-size:15px;margin:6px 0 12px}.rp-company-card .rp-btn{margin-top:auto}.rp-company-category,.rp-company-benefit{color:var(--company-yellow)}.rp-company-logo{width:65px;height:65px;object-fit:contain;background:#fff;padding:4px}.rp-company-application input:not([type=checkbox]),.rp-company-application select,.rp-company-application textarea{width:100%;min-width:0;background:#080909;color:#fff;border:1px solid #555;padding:12px;box-sizing:border-box;font:inherit}.rp-company-check{display:flex;flex-direction:row;align-items:center;gap:10px}.rp-company-check input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.rp-company-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rp-company-card--compact{display:grid;grid-template-columns:150px minmax(0,1fr)}.rp-company-card--compact .rp-company-photo{height:100%;aspect-ratio:auto;min-height:160px}.rp-company-pagination{display:flex;gap:12px;flex-wrap:wrap;padding:25px 0}.rp-company-pagination .page-numbers{padding:10px 15px;border:1px solid #555}.rp-company-pagination .current{background:var(--company-yellow);color:#000}.rp-company-cta{display:grid;grid-template-columns:1fr 1fr;background:var(--company-panel);margin:35px 0 60px;overflow:hidden}.rp-company-cta>img{width:100%;height:100%;max-height:350px;object-fit:cover}.rp-company-cta>div{padding:35px}.rp-company-detail-header{position:relative;padding-bottom:25px}.rp-company-cover{width:100%;max-height:470px;object-fit:cover;display:block;margin-bottom:25px}.rp-company-detail-logo{width:110px;height:110px;object-fit:contain;background:white;padding:8px}.rp-company-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px}.rp-company-contact{background:var(--company-panel);padding:25px;align-self:start}.rp-company-contact-links{display:grid;grid-template-columns:1fr;gap:12px}.rp-company-contact-links .rp-btn{width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere}.rp-company-content{min-width:0;overflow-wrap:anywhere}.rp-company-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.rp-company-gallery img{width:100%;height:220px;object-fit:cover}.rp-company-offers article{padding:20px;border-left:3px solid var(--company-yellow);background:var(--company-panel);margin:20px 0}.rp-company-application{max-width:900px;margin:25px auto}.rp-company-application .rp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rp-company-application label{display:flex;flex-direction:column;gap:8px;min-width:0}.rp-company-application .rp-company-check{flex-direction:row}.rp-company-application .rp-span2{grid-column:1/-1}.rp-company-application input[type=file]{white-space:normal}.rp-company-application .rp-honeypot{display:none!important}.rp-companies a:focus-visible,.rp-companies button:focus-visible,.rp-companies input:focus-visible,.rp-companies select:focus-visible,.rp-companies textarea:focus-visible{outline:2px solid var(--company-yellow);outline-offset:3px}
@media(max-width:1050px){.rp-company-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-company-card--compact{grid-template-columns:110px minmax(0,1fr)}.rp-company-directory{grid-template-columns:1fr}}
@media(max-width:650px){.rp-company-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rp-company-hero{min-height:340px;padding:35px 0}.rp-company-hero p{font-size:16px}.rp-company-hero h1{font-size:32px}.rp-company-featured,.rp-company-detail-grid,.rp-company-cta{grid-template-columns:1fr}.rp-company-card--compact{grid-template-columns:100px minmax(0,1fr)}.rp-company-card-body{padding:15px}.rp-company-card h3{font-size:20px}.rp-company-application .rp-form-grid{grid-template-columns:1fr}.rp-company-cta>div{padding:22px}.rp-company-section{padding-top:25px;padding-bottom:25px}.rp-company-contact{padding:20px}}
@media(prefers-reduced-motion:reduce){.rp-company-photo img{transition:none}}

.rp-company-map{margin-top:24px}.rp-company-map iframe{border:0;max-width:100%}.rp-company-application .rp-check{flex-direction:row;align-items:flex-start}.rp-company-application .rp-check input{flex:0 0 20px;width:20px;height:20px}

/* Larger vector category symbols: no platform-dependent emoji. */
.rp-company-category-tile{min-height:185px;gap:12px}.rp-company-category-tile>span{display:flex;align-items:center;justify-content:center;color:var(--company-yellow)}.rp-company-category-icon{width:64px;height:64px;display:block;flex:none;transition:transform .18s}.rp-company-category-tile:hover .rp-company-category-icon{transform:translateY(-3px)}.rp-company-current-category{color:var(--company-yellow);font-weight:700}.rp-company-hero>img{object-position:center center}
@media(max-width:650px){.rp-company-category-tile{min-height:165px;padding:16px 10px}.rp-company-category-icon{width:56px;height:56px}.rp-company-hero>img{object-position:63% center}.rp-company-hero:after{background:rgba(0,0,0,.72)}}
@media(prefers-reduced-motion:reduce){.rp-company-category-icon{transition:none}}

/* Dedicated invitation image and finite, subtle entrance animation. */
.rp-company-cta{position:relative;border:1px solid #303334}.rp-company-cta>img{max-height:none;min-height:300px;object-position:center}.rp-company-cta>div{align-self:center;position:relative;z-index:1;background:var(--company-panel)}.rp-company-cta .rp-btn{transition:background .2s,color .2s,border-color .2s,transform .2s}.rp-company-cta .rp-btn:is(:hover,:focus-visible){transform:translateY(-2px);background:#080909;color:var(--company-yellow);border-color:var(--company-yellow)}.rp-company-cta-entered>img{animation:rp-company-invite-photo 1.6s ease-out both}.rp-company-cta-entered>div{animation:rp-company-invite-copy .7s ease-out both}.rp-company-cta-entered{animation:rp-company-invite-border 1.6s ease-out both}
@keyframes rp-company-invite-photo{from{opacity:.6;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes rp-company-invite-copy{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes rp-company-invite-border{from{border-color:#f5c900}to{border-color:#303334}}
@media(max-width:650px){.rp-company-cta>img{min-height:0;aspect-ratio:3/2;height:auto}}
@media(prefers-reduced-motion:reduce){.rp-company-cta-entered,.rp-company-cta-entered>img,.rp-company-cta-entered>div{animation:none}.rp-company-cta .rp-btn{transition:none}.rp-company-cta .rp-btn:is(:hover,:focus-visible){transform:none}}

/* All categories in a single row, horizontally scrollable on narrow screens. */
.rp-companies .rp-company-categories{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:24px 2px 16px;scrollbar-color:#f5c900 #202324;scrollbar-width:thin}
.rp-companies .rp-company-category-tile{min-width:0;min-height:165px;padding:16px 10px;scroll-snap-align:start;gap:10px}.rp-company-category-tile strong{overflow-wrap:anywhere;font-size:14px;line-height:1.3}.rp-company-category-tile small{font-size:12px}.rp-company-category-tile.is-active{border-color:#f5c900;box-shadow:inset 0 -3px #f5c900;background:#232116;color:#f5c900}.rp-company-directory-view{min-width:0}.rp-company-directory-view[aria-busy=true] #directorio{opacity:.55;transition:opacity .15s}.rp-company-directory-view #directorio{scroll-margin-top:160px;padding-top:20px}.rp-company-directory-view .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.rp-companies .rp-company-categories{grid-auto-columns:145px}.rp-company-directory-view #directorio{scroll-margin-top:24px}}

/* Complete business cards: shared mobile creative above all public information. */
.rp-companies .rp-company-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-companies .rp-company-card--inline{display:flex;flex-direction:column;min-width:0;scroll-margin-top:160px}.rp-companies .rp-company-card--inline .rp-company-photo{width:100%;height:auto;min-height:0;aspect-ratio:2/1;flex:none;background:#fff}.rp-companies .rp-company-card--inline .rp-company-photo img{width:100%;height:100%;object-fit:contain;display:block;transform:none}.rp-companies .rp-company-card--inline .rp-company-card-body{display:block;padding:22px}.rp-company-card--inline .rp-company-contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.rp-company-card--inline .rp-company-contact-links .rp-btn{margin:0;width:100%;min-width:0;font-size:14px;white-space:normal;overflow-wrap:anywhere;text-align:center;box-sizing:border-box}.rp-company-description p{line-height:1.65}.rp-company-card-offer{border-top:1px solid #383b3c;margin-top:22px;padding-top:16px}.rp-company-card-offer h4{margin:0 0 10px}.rp-company-card--inline .rp-company-map{width:100%}
@media(max-width:1050px){.rp-companies .rp-company-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.rp-companies .rp-company-directory{grid-template-columns:1fr}.rp-companies .rp-company-card--inline{scroll-margin-top:24px}.rp-companies .rp-company-card--inline .rp-company-card-body{padding:18px}}

/* Accessible discount ticket and native coupon dialog. */
.rp-company-coupon{margin-top:24px;width:100%;border:0}.rp-company-coupon>summary{list-style:none;display:flex;gap:14px;align-items:center;padding:18px;background:#c7f2bd;color:#153c1e;border:1px solid #a0d995;border-radius:5px;cursor:pointer;min-height:76px;box-sizing:border-box}.rp-company-coupon>summary::-webkit-details-marker{display:none}.rp-company-coupon>summary strong{display:block;font-size:22px;line-height:1.2}.rp-company-coupon>summary small{display:block;margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.04em}.rp-coupon-ticket{font-size:32px;line-height:1;font-weight:900;border-right:1px dashed #62985c;padding-right:14px}.rp-company-coupon>summary:is(:hover,:focus-visible){background:#dcffd3;outline:2px solid #64ae58;outline-offset:3px}.rp-company-coupon-content{padding:22px 0;color:#eee;overflow-wrap:anywhere}.rp-coupon-logo{display:block;width:100%;height:130px;object-fit:contain;background:#fff;border-radius:4px;margin:0 auto 20px}.rp-coupon-company{font-weight:700;color:#ddd}.rp-coupon-value{background:#c7f2bd;color:#153c1e;padding:15px;font-size:30px;font-weight:900;border-radius:4px}.rp-coupon-validity{padding:14px 0;border-bottom:1px dashed #666}.rp-coupon-code{padding:12px;background:#242829;border:1px dashed #a0d995}.rp-coupon-conditions h4{margin:20px 0 8px}.rp-coupon-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.rp-coupon-actions .rp-btn{white-space:normal;text-align:center;flex:1 1 180px;box-sizing:border-box}.rp-coupon-note{font-size:13px;color:#bbb}.rp-coupon-print{display:none!important}.rp-company-coupon-dialog .rp-coupon-print{display:block!important}.rp-company-coupon-dialog{box-sizing:border-box;width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;padding:25px;background:#151718;color:#fff;border:1px solid #a0d995;border-radius:10px;box-shadow:0 20px 80px #0009}.rp-company-coupon-dialog:not([open]){display:none}.rp-company-coupon-dialog::backdrop{background:#000c}.rp-company-coupon-dialog .rp-company-coupon-content{padding:12px 0 0}.rp-company-coupon-dialog h2{font-size:19px;margin:0 44px 16px 0;color:#c7f2bd}.rp-company-coupon-dialog h3{font-size:24px;line-height:1.25}.rp-coupon-close{position:absolute;right:15px;top:12px;border:1px solid #666;border-radius:4px;background:#222;color:#fff;font-size:26px;width:40px;height:40px;cursor:pointer}.rp-company-coupon-dialog :is(button,a):focus-visible{outline:2px solid #c7f2bd;outline-offset:3px}.rp-coupon-expired>summary{background:#ddd;color:#444;cursor:default}
@media(max-width:650px){.rp-company-coupon-dialog{padding:20px}.rp-coupon-actions{flex-direction:column}.rp-coupon-actions .rp-btn{flex:auto;width:100%}}
@media print{body[data-rp-print-coupon]>*:not(.rp-company-coupon-dialog){display:none!important}body[data-rp-print-coupon] .rp-company-coupon-dialog{position:static;display:block;width:100%;max-height:none;overflow:visible;border:0;box-shadow:none;margin:0;color:#000;background:#fff}body[data-rp-print-coupon] .rp-company-coupon-dialog *{color:#000!important}body[data-rp-print-coupon] :is(.rp-coupon-close,.rp-coupon-actions){display:none!important}.rp-company-coupon-dialog::backdrop{display:none}}
