#aicon-extras {
  container-type: inline-size;
  padding: clamp(16px, 2.5vw, 30px);
  border: 1px solid #deeaee;
  border-radius: 22px;
  background: #fff url("../images/aicon-extras-palm.svg") right top / min(30%, 245px) auto no-repeat;
  box-shadow: 0 12px 32px #184e621a;
}
#aicon-extras .lux-customize-head { margin: 0 0 12px; text-align: left; }
#aicon-extras .lux-customize-head > span {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 99px;
  background: #e6f4f3; color: #00696c; font-size: 13px; line-height: 1.4; letter-spacing: .02em;
}
#aicon-extras .lux-customize-head i { font-size: 20px; line-height: 1; font-style: normal; }
#aicon-extras :is(.lux-customize-head h3, .lux-accordion-trigger b) {
  color: #0b1634; font-family: Georgia, "Times New Roman", serif!important; font-weight: 700;
  line-height: 1.13; text-transform: none; letter-spacing: -.025em;
}
#aicon-extras .lux-customize-head h3 { font-size: clamp(28px, 4.3cqi, 48px); margin: 12px 0 5px; }
#aicon-extras .lux-customize-head p { font-size: clamp(16px, 1.9cqi, 21px); color: #414b64; line-height: 1.45; }
#aicon-extras .lux-customize-head p::after { content: ""; display: block; width: 60px; height: 3px; margin: 15px 0 8px; border-radius: 2px; background: #007c80; }
#aicon-extras .fleet-skip-extras { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 0; background: transparent; color: #007378!important; font-size: 16px; line-height: 1.35; text-decoration: none!important; }
#aicon-extras .fleet-skip-extras::before { content: "+"; border: 1.5px solid; border-radius: 50%; width: 17px; height: 17px; line-height: 14px; text-align: center; flex-shrink: 0; }
#aicon-extras .fleet-skip-extras::after, #aicon-extras .lux-accordion-trigger em::after { content: "›"; font: bold 1.35em/1 Arial,sans-serif; }
#aicon-extras .lux-accordion-trigger {
  position: relative; isolation: isolate; overflow: hidden; width: 100%;
  display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center;
  gap: 13px; padding: 16px; margin: 14px 0 0; min-height: 95px; text-align: left;
  border: 1px solid #bfd4db; border-left: 3px solid #27b8b8; border-radius: 14px;
  background: #fff; box-shadow: 0 4px 10px #1c45581a;
}
#aicon-extras [data-target="diningPanel"] { --photo: url("../images/aicon-reference-grill.png"); }
#aicon-extras [data-target="addonsPanel"] { --photo: url("../images/aicon-reference-mat.png"); }
#aicon-extras .lux-accordion-trigger::before {
  content: ""; position: absolute; inset: 0 14% 0 51%; z-index: -1;
  background: var(--photo) center 54% / cover;
  mask-image: linear-gradient(to right, transparent, black 30%, black 76%, transparent);
}
#aicon-extras .aicon-option-icon { width: 40px; height: 40px; color: #00787c; }
#aicon-extras .lux-accordion-trigger > span { max-width: 66%; }
#aicon-extras .lux-accordion-trigger b { font-size: clamp(19px, 2.4cqi, 29px); }
#aicon-extras .lux-accordion-trigger small { font-size: 14px; line-height: 1.4; color: #414b64; }
#aicon-extras .lux-accordion-trigger em {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 10px 17px;
  border-radius: 99px; background: linear-gradient(#00858a, #005258); color: white;
  font-size: 15px; line-height: 1.3; font-weight: 700; text-transform: none; letter-spacing: normal;
}
#aicon-extras .lux-accordion-trigger.active em::after { transform: rotate(-90deg); }
#aicon-extras .lux-accordion-trigger:is(:hover, :focus-visible, .active) { border-color: #007c80; }
#aicon-extras :is(button,a):focus-visible { outline: 3px solid #00767d; outline-offset: 3px; }
@container (max-width: 630px) {
  #aicon-extras .lux-accordion-trigger { grid-template-columns: 36px minmax(0, 1fr); gap: 9px 12px; padding: 0 14px 14px; border-left: 1px solid #bfd4db; }
  #aicon-extras .lux-accordion-trigger::before {
    position: static; grid-column: 1 / -1; margin: 0 -14px 2px; aspect-ratio: 829 / 174; mask-image: none;
  }
  #aicon-extras .lux-accordion-trigger > span { max-width: none; }
  #aicon-extras .lux-accordion-trigger em { grid-column: 1 / -1; width: 84%; justify-self: center; }
  #aicon-extras .aicon-option-icon { width: 35px; }
}

/* Quote action on the Aicon Fly forms */
.lux-final-submit-box { container-type: inline-size; }
.p42-redesign .aicon-submit-row {
  display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.15fr);
  align-items: center; gap: 26px; padding: 26px 28px; border: 1px solid #cce9ee;
  border-radius: 20px; background: linear-gradient(110deg,#fff 55%,#f6fbfc);
}
.aicon-submit-row .lux-recaptcha-wrap {
  display: flex; justify-content: center; min-width: 0; min-height: 78px;
  padding-right: 22px; border-right: 1px solid #d4e1e7;
}
.aicon-submit-row .lux-recaptcha-wrap > [id$="Panel1"] { flex: 0 0 304px; width: 304px; max-width: none; border: 0; padding: 0; background: transparent; }
.aicon-submit-row .lux-submit-action { width: 100%; min-width: 0; align-items: center; gap: 10px; }
.aicon-send-control { position: relative; width: 100%; }
.aicon-send-control > i { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 1; color: white; font-size: 20px; }
.aicon-send-control > i:first-child { left: 18px; }
.aicon-send-control > i:last-child { right: 18px; }
.aicon-submit-row .aicon-send-control .lux-quote-submit-btn {
  box-sizing: border-box; width: 100%!important; max-width: none!important; min-height: 66px!important;
  padding: 8px 44px!important; border: 0!important; border-top: 2px solid #37b4bb!important; border-radius: 17px!important;
  background: linear-gradient(115deg,#009da5,#005963)!important; color: white!important;
  font-size: clamp(16px,2.3cqi,21px)!important; line-height: 1.15!important; letter-spacing: .015em;
  font-weight: 900!important; text-transform: uppercase; white-space: normal; box-shadow: 0 10px 22px #008e991c;
}
.aicon-send-control :focus-visible { outline: 3px solid #19a5b1; outline-offset: 4px; }
.p42-redesign .aicon-submit-row small { color: #426c7d; font-size: 13px; font-weight: 700; text-align: center; }
.aicon-submit-row small i { margin-right: 5px; color: #638394; }
@container (max-width: 680px) {
  .p42-redesign .aicon-submit-row { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 18px 8px; }
  .aicon-submit-row .lux-recaptcha-wrap { padding: 0; border: 0; }
}
@container (max-width: 328px) {
  .aicon-submit-row .lux-recaptcha-wrap > [id$="Panel1"] { transform: scale(.82); transform-origin: center; }
}
@container (max-width: 278px) {
  .aicon-submit-row .lux-recaptcha-wrap > [id$="Panel1"] { transform: scale(.7); }
  .aicon-send-control > i { font-size: 15px; }
}
