:root {
  --ar-navy: #0a1d47;
  --ar-cobalt: #135bda;
  --ar-sky: #2e73e8;
  --ar-gold: #d8a63a;
  --ar-pale: #eaf2ff;
  --ar-gray: #f5f7fa;
  --ar-white: #fff;
  --ar-radius: 16px;
  --ar-shadow-soft: 0 7px 20px rgba(10, 29, 71, .1);
  --ar-shadow-medium: 0 16px 34px rgba(10, 29, 71, .18);
}

.ar-rental-cards { color: var(--ar-navy); background: var(--ar-gray); padding: clamp(48px, 6vw, 84px) 0; }
.ar-rental-cards *, .ar-rental-cards *::before, .ar-rental-cards *::after { box-sizing: border-box; }
.ar-rental-cards__container { width: min(calc(100% - 80px), 1280px); margin: 0 auto; }
.ar-rental-cards--layout-grid .ar-rental-cards__container { container-type: inline-size; }
.ar-rental-cards__heading-row { position: relative; display: flex; align-items: center; justify-content: center; gap: 20px; margin: 0 0 28px; text-align: center; }
.ar-rental-cards__heading { max-width: min(720px, calc(100% - 112px)); margin-inline: auto; }
.ar-rental-cards--layout-grid .ar-rental-cards__heading { max-width: 720px; }
.ar-rental-cards__heading h2, .ar-rental-cards__heading h3 { margin: 0; color: var(--ar-navy); font: 700 clamp(1.75rem, 3vw, 2.5rem)/1.12 "Manrope", Avenir, sans-serif; letter-spacing: -.025em; }
.ar-rental-cards__grid { min-width: 0; gap: 24px; align-items: stretch; }
/* Fixed column widths plus centered wrapping keep incomplete rows balanced.
   Column counts respond to the component's available width, not item counts. */
.ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-columns: 2; --ar-card-gap: 24px; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ar-card-gap); }
.ar-rental-cards--layout-grid .ar-rental-card { flex: 0 0 calc((100% - (var(--ar-card-columns) - 1) * var(--ar-card-gap)) / var(--ar-card-columns)); }
.ar-rental-cards__conversion-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 32px auto 0; }
/* The MU renderers own CTA markup and interaction styling; cards own only placement. */
.ar-rental-cards__conversion-actions > .dc-pye,
.ar-rental-cards__conversion-actions > .dc-phone-call { flex: 0 0 auto; width: auto; }
@container (min-width: 660px) { .ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-columns: 3; } }
@container (min-width: 960px) { .ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-columns: 4; } }
@container (min-width: 1200px) { .ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-columns: 5; } }
.ar-rental-cards__controls { position: absolute; right: 0; display: flex; flex: 0 0 auto; gap: 8px; padding-bottom: 2px; }
.ar-rental-cards__control { display: grid; width: 44px; height: 44px; place-items: center; border: 2px solid var(--ar-cobalt); border-radius: 50%; background: #fff; color: var(--ar-cobalt); cursor: pointer; font: 700 21px/1 Arial, sans-serif; }
.ar-rental-cards__control:hover { background: var(--ar-pale); color: var(--ar-navy); }
.ar-rental-cards__control:focus-visible, .ar-rental-cards__grid[data-ar-carousel-rail]:focus-visible { outline: 3px solid var(--ar-navy); outline-offset: 3px; }
.ar-rental-cards--layout-carousel .ar-rental-cards__grid { display: flex; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; gap: 24px; padding: 2px 2px 16px; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; scrollbar-color: var(--ar-cobalt) #dce7f8; }
.ar-rental-cards--layout-carousel .ar-rental-card { flex: 0 0 clamp(250px, 27vw, 328px); scroll-snap-align: start; scroll-snap-stop: always; }
.ar-rental-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid #d7e2f5; border-radius: var(--ar-radius); background: var(--ar-white); box-shadow: var(--ar-shadow-soft); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.ar-rental-card__media { position: relative; display: grid; grid-row: 1; grid-column: 1; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: linear-gradient(145deg, #0a1d47 0%, #135bda 56%, #dceaff 56%, #eaf2ff 100%); isolation: isolate; }
.ar-rental-card__media::before, .ar-rental-card__media::after { position: absolute; content: ""; pointer-events: none; }
.ar-rental-card__media::before { width: 62%; height: 62%; border: 2px solid rgba(255,255,255,.56); border-radius: 50%; transform: translate(26%, -28%); }
.ar-rental-card__media::after { right: -10%; bottom: -35%; width: 80%; aspect-ratio: 1; border: 12px solid rgba(216,166,58,.9); border-radius: 50%; }
.ar-rental-card__media--photo { display: block; background: #eaf2ff; }
.ar-rental-card__media--photo::before, .ar-rental-card__media--photo::after { content: none; }
.ar-rental-card__photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.ar-rental-card__media--chairs { background: linear-gradient(145deg, #553078, #7d3e9c 56%, #eadbf3 56%, #f6effa 100%); }
.ar-rental-card__media--tables { background: linear-gradient(145deg, #6a490c, #d8a63a 54%, #fff0c7 54%, #fff9e8 100%); }
.ar-rental-card__media--party-rentals { background: linear-gradient(145deg, #0a1d47, #135bda 48%, #d8a63a 48%, #f5d98f 100%); }
.ar-rental-card__media--weddings { background: linear-gradient(145deg, #7c5a21, #d8a63a 48%, #f7e7c0 48%, #fff9eb 100%); }
.ar-rental-card__media--corporate-events { background: linear-gradient(145deg, #0a1d47, #135bda 56%, #d9e8ff 56%, #edf5ff 100%); }
.ar-rental-card__media--quinceaneras { background: linear-gradient(145deg, #66306c, #9a4c95 55%, #f5d6ed 55%, #fcf0f9 100%); }
.ar-rental-card__media--bbq { background: linear-gradient(145deg, #6b2d17, #c95c2f 55%, #f3d0b9 55%, #fff1e9 100%); }
.ar-rental-card__media-label { z-index: 1; max-width: 74%; padding: 9px 11px; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(10,29,71,.24); color: #fff; font: 700 .75rem/1.2 "Manrope", Avenir, sans-serif; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.ar-rental-card__icon, .ar-rental-card__arrow { position: relative; z-index: 2; display: grid; grid-row: 1; grid-column: 1; width: 55px; height: 55px; align-self: end; transform: translateY(50%); place-items: center; border-radius: 50%; }
.ar-rental-card__icon { --ar-icon-content-size: 68%; justify-self: start; margin-inline-start: 16px; border: 3px solid #fff; background: linear-gradient(145deg, var(--ar-navy), var(--ar-cobalt)); box-shadow: 0 5px 12px rgba(10,29,71,.18); color: #fff; font: 700 1.25rem/1 "Manrope", Avenir, sans-serif; }
.ar-rental-card__icon--review { background: #7d8a9f; }
.ar-rental-card__body { position: relative; display: grid; grid-row: 2; grid-column: 1; min-height: 116px; align-content: center; padding: 40px 16px 8px; text-align: center; }
.ar-rental-card__title { min-width: 0; margin: 0; color: var(--ar-navy); font: 700 18px/1.25 "Manrope", Avenir, sans-serif; letter-spacing: -.01em; overflow-wrap: anywhere; }
.ar-rental-card__arrow { justify-self: end; margin-inline-end: 16px; border: 2px solid var(--ar-cobalt); background: #fff; color: var(--ar-cobalt); font: 700 25px/1 Arial, sans-serif; }
.ar-rental-card__link { display: grid; grid-template-rows: auto 1fr; min-width: 0; border-radius: inherit; color: inherit; text-decoration: none; }
.ar-rental-card__link:focus-visible { outline: 3px solid var(--ar-white); outline-offset: -4px; box-shadow: inset 0 0 0 7px var(--ar-navy); }
.ar-rental-card--has-overview .ar-rental-card__body { min-height: 98px; padding-top: 32px; padding-bottom: 5px; }
.ar-rental-card__overview { padding: 0 16px 14px; text-align: center; }
.ar-rental-card__overview-toggle, .ar-rental-card__overview-close, .ar-rental-card__overview-dismiss { appearance: none; border: 0; font: 700 .8125rem/1.25 "Manrope", Avenir, sans-serif; letter-spacing: .01em; cursor: pointer; }
.ar-rental-card__overview-toggle { min-height: 30px; padding: 4px 8px; border-radius: 999px; background: transparent; color: var(--ar-cobalt); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ar-rental-card__overview-toggle:hover { color: var(--ar-navy); background: var(--ar-pale); }
.ar-rental-card__overview-toggle:focus-visible, .ar-rental-card__overview-close:focus-visible, .ar-rental-card__overview-dismiss:focus-visible { outline: 3px solid var(--ar-gold); outline-offset: 3px; }
.ar-rental-card__overview-panel { position: fixed; inset: 0; box-sizing: border-box; width: min(calc(100vw - 40px), 560px); max-height: min(74vh, 540px); margin: auto; padding: clamp(20px, 4vw, 32px); overflow: auto; border: 1px solid #cbdcf5; border-radius: 16px; background: linear-gradient(145deg, #f7faff, #edf4ff); color: var(--ar-navy); box-shadow: 0 20px 48px rgba(10,29,71,.32), inset 0 1px 0 rgba(255,255,255,.85); text-align: left; }
.ar-rental-card__overview-panel::backdrop { background: rgba(10,29,71,.58); backdrop-filter: blur(2px); }
.ar-rental-card__overview-header { position: relative; display: grid; align-items: center; min-height: 38px; margin-bottom: 12px; padding-inline: 38px; }
.ar-rental-card__overview-panel h3 { margin: 0; color: var(--ar-navy); font: 700 clamp(1.25rem, 3vw, 1.5rem)/1.2 "Manrope", Avenir, sans-serif; letter-spacing: -.02em; text-align: center; }
.ar-rental-card__overview-dismiss { position: absolute; top: 0; right: 0; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--ar-cobalt); border-radius: 50%; background: var(--ar-white); color: var(--ar-cobalt); font-size: 1.35rem; line-height: 1; }
.ar-rental-card__overview-dismiss:hover { background: var(--ar-cobalt); color: var(--ar-white); }
.ar-rental-card__overview-panel p { margin: 0; font: 400 .9375rem/1.6 "Manrope", Avenir, sans-serif; }
.ar-rental-card__overview-actions { display: flex; justify-content: center; margin-top: 20px; }
.ar-rental-card__overview-close { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; border: 1px solid var(--ar-cobalt); border-radius: 999px; background: var(--ar-white); color: var(--ar-cobalt); }
.ar-rental-card__overview-close:hover { background: var(--ar-cobalt); color: var(--ar-white); }
.ar-rental-card__icon { transition: box-shadow 200ms ease; }
.ar-rental-card__arrow { transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
.ar-rental-card__icon > span, .ar-rental-card__icon > img, .ar-rental-card__icon > svg { display: block; width: var(--ar-icon-content-size); height: var(--ar-icon-content-size); max-width: var(--ar-icon-content-size); max-height: var(--ar-icon-content-size); object-fit: contain; transition: transform 200ms cubic-bezier(.2, .7, .3, 1); }
.ar-rental-card__icon > span { display: grid; place-items: center; font-size: 1.75em; line-height: 1; }
.ar-rental-card__arrow > span { display: block; transition: transform 200ms cubic-bezier(.2, .7, .3, 1); }
/* One wrapping link keeps each decorative disc pointer-reachable.
   Local disc feedback animates glyphs without moving the seam holders. */
.ar-rental-card:focus-within { transform: translateY(-2px); border-color: var(--ar-cobalt); outline: 3px solid var(--ar-navy); outline-offset: 3px; box-shadow: var(--ar-shadow-medium); }
@media (hover: hover) and (pointer: fine) {
  .ar-rental-card:hover { transform: translateY(-2px); border-color: var(--ar-cobalt); box-shadow: var(--ar-shadow-medium); }
  .ar-rental-card__icon:hover { box-shadow: 0 7px 16px rgba(10,29,71,.26); }
  .ar-rental-card__icon:hover > span { transform: translateY(-1px) scale(1.06); }
  .ar-rental-card__icon:hover > svg { transform: translateY(-1px) scale(1.06); }
  .ar-rental-card__arrow:hover { background-color: var(--ar-cobalt); color: #fff; box-shadow: 0 5px 12px rgba(19,91,218,.2); }
  .ar-rental-card__arrow:hover > span { transform: translateX(3px); }
}
.ar-rental-card--unmapped { border-style: dashed; border-color: #7d8a9f; background: #f5f7fa; box-shadow: none; }
.ar-rental-card--unmapped .ar-rental-card__media { background: repeating-linear-gradient(135deg, #e8edf5 0, #e8edf5 12px, #f5f7fa 12px, #f5f7fa 24px); }
.ar-rental-card--unmapped .ar-rental-card__media-label { border-color: #7d8a9f; background: #fff; color: #34445f; }
.ar-rental-card__status { margin: 8px 0 0; color: #34445f; font: 600 .8125rem/1.4 "Manrope", Avenir, sans-serif; }
.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: 980px) { .ar-rental-cards__container { width: min(calc(100% - 64px), 1280px); } .ar-rental-cards--layout-carousel .ar-rental-card { flex-basis: min(42vw, 328px); } }
@media (max-width: 767px) {
  .ar-rental-cards { padding-block: 48px; }
  .ar-rental-cards__container { width: calc(100% - 40px); }
  .ar-rental-cards__heading-row { flex-direction: column; align-items: center; }
  .ar-rental-cards__heading { max-width: 100%; }
  .ar-rental-cards__controls { position: static; }
  .ar-rental-cards__conversion-actions { margin-top: 24px; }
  .ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-gap: 12px; }
  .ar-rental-cards--layout-carousel .ar-rental-cards__grid { gap: 16px; }
  .ar-rental-cards--layout-carousel .ar-rental-card { flex-basis: min(82vw, 328px); }
  .ar-rental-card__icon, .ar-rental-card__arrow { width: 45px; height: 45px; }
  .ar-rental-card__icon { margin-inline-start: 12px; font-size: 1rem; }
  .ar-rental-card__body { min-height: 100px; padding: 32px 12px 8px; }
  .ar-rental-card--has-overview .ar-rental-card__body { min-height: 88px; padding-top: 28px; padding-bottom: 4px; }
  .ar-rental-card__title { font-size: clamp(14px, 3.5vw, 15px); line-height: 1.3; }
  .ar-rental-card__arrow { margin-inline-end: 12px; font-size: 24px; }
  .ar-rental-card__overview { padding: 0 12px 12px; }
  .ar-rental-card__media-label { max-width: 86%; padding: 6px 8px; font-size: .625rem; }
  .ar-rental-cards--layout-carousel .ar-rental-card__title { font-size: 16px; }
}
@media (max-width: 450px) {
  .ar-rental-cards__conversion-actions { align-items: stretch; flex-direction: column; }
  .ar-rental-cards__conversion-actions > .dc-pye,
  .ar-rental-cards__conversion-actions > .dc-phone-call { width: 100%; }
  .ar-rental-cards__conversion-actions > .dc-pye .dc-pye__link { width: 100%; }
}
@media (max-width: 360px) {
  .ar-rental-card__body { padding-inline: 8px; }
  .ar-rental-cards--layout-grid .ar-rental-card__icon, .ar-rental-cards--layout-grid .ar-rental-card__arrow { width: 45px; height: 45px; }
  .ar-rental-cards--layout-grid .ar-rental-card__icon { margin-inline-start: 8px; }
  .ar-rental-cards--layout-grid .ar-rental-card__arrow { margin-inline-end: 8px; }
}
@media (max-width: 240px) { .ar-rental-cards__container { width: calc(100% - 24px); } .ar-rental-cards--layout-grid .ar-rental-cards__grid { --ar-card-columns: 1; } .ar-rental-cards--layout-carousel .ar-rental-card { flex-basis: min(86vw, 328px); } }
@media (prefers-reduced-motion: reduce) {
  .ar-rental-card, .ar-rental-card__icon, .ar-rental-card__arrow, .ar-rental-card__icon > span, .ar-rental-card__icon > svg, .ar-rental-card__arrow > span { transition: none; }
  .ar-rental-card:hover, .ar-rental-card:focus-within, .ar-rental-card:is(:hover, :focus-within) .ar-rental-card__icon > span, .ar-rental-card:is(:hover, :focus-within) .ar-rental-card__icon > svg, .ar-rental-card:is(:hover, :focus-within) .ar-rental-card__arrow > span { transform: none; }
  .ar-rental-cards--layout-carousel .ar-rental-cards__grid { scroll-snap-type: x proximity; }
}
