/* MaidJet featured offers — scoped, responsive, accessible */
.mj-offer-widget{position:fixed;right:0;top:34%;z-index:9998;font-family:inherit;color:#13254a}.mj-offer-tab{position:absolute;right:0;top:0;transform:translateX(0);display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;background:#124ba3;color:#fff;border:2px solid #ffb600;border-right:0;border-radius:16px 0 0 16px;box-shadow:0 6px 20px #0a2c6e50;cursor:pointer;font:800 12px/1.2 inherit;letter-spacing:.03em;width:76px;padding:16px 7px;text-align:center}.mj-offer-tab span:first-child{font-size:27px;color:#ffbb22}.mj-offer-panel{position:absolute;right:0;top:0;width:min(370px,calc(100vw - 55px));max-height:min(75vh,660px);overflow-y:auto;background:#fff;border:1px solid #ffb600;border-radius:17px 0 0 17px;box-shadow:0 14px 55px #112d5a40;padding:21px;transform:translateX(105%);visibility:hidden;transition:transform .24s ease,visibility .24s ease}.mj-offer-widget.is-open .mj-offer-panel{transform:translateX(0);visibility:visible}.mj-offer-widget.is-open .mj-offer-tab{visibility:hidden}.mj-offer-heading{display:flex;justify-content:space-between;gap:10px}.mj-offer-heading h2{font-size:23px;line-height:1.15;margin:5px 0 6px;color:#112855}.mj-offer-heading p{font-size:13px;margin:0 0 16px;color:#5c6a7a}.mj-offer-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;color:#c68700}.mj-offer-close{border:0;background:#f0f4fb;color:#12346b;border-radius:50%;width:31px;height:31px;cursor:pointer;font-size:24px;flex:none}.mj-offer-switch{display:flex;gap:5px;background:#ecf2fb;padding:4px;border-radius:10px;margin-bottom:13px}.mj-offer-audience{border:0;flex:1;padding:10px 5px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:800;color:#234571;background:transparent}.mj-offer-audience[aria-pressed=true]{color:#fff;background:#1e50a4}.mj-offer-group[hidden]{display:none!important}.mj-offer-line{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce5f1;border-radius:11px;padding:10px 12px;margin:8px 0;gap:10px}.mj-offer-line span{font-size:13px;color:#28436d;font-weight:700;display:block}.mj-offer-line strong{font-size:19px;color:#b12b22;display:block;margin-top:2px}.mj-offer-pick{font-size:12px;font-weight:800;border:0;border-radius:8px;padding:9px;background:#ffb900;color:#172b4c;cursor:pointer;white-space:nowrap}.mj-offer-code{display:flex;align-items:center;gap:8px;border:1px dashed #b9cce5;border-radius:9px;padding:9px 12px;font-size:12px;margin-top:13px}.mj-offer-code strong{font-size:16px;color:#124ba3;letter-spacing:.05em}.mj-copy-offer{margin-left:auto;background:#eaf1ff;color:#194b94;border:none;border-radius:6px;padding:7px 9px;font-weight:800;cursor:pointer}.mj-offer-terms{font-size:11px;line-height:1.5;color:#66768e;margin:11px 0 0}.mj-card-deals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 13px}.mj-card-deal{border:1px dashed #bbcee5;border-radius:9px;padding:9px 7px;text-align:center;background:#f4f8ff}.mj-card-deal:nth-child(2){background:#fff8e9;border-color:#edc667}.mj-card-deal small{display:block;font-size:10px;color:#3b567c;font-weight:750}.mj-card-deal strong{display:block;font-size:19px;color:#154a9f;margin-top:3px}.mj-card-deal:nth-child(2) strong{color:#b86d00}@media(max-width:700px){.mj-offer-widget{top:auto;bottom:90px}.mj-offer-tab{width:58px;padding:10px 4px;font-size:10px}.mj-offer-tab span:first-child{font-size:21px}.mj-offer-panel{top:auto;bottom:0;max-height:min(70vh,570px);width:min(350px,calc(100vw - 16px));border-radius:15px 0 0 15px;padding:16px}.mj-card-deals{gap:5px}.mj-card-deal strong{font-size:16px}}@media(prefers-reduced-motion:reduce){.mj-offer-panel{transition:none}}

.mj-card-deal-button{font-family:inherit;width:100%;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.mj-card-deal-button:hover{box-shadow:0 3px 13px #174e9c24;transform:translateY(-1px)}.mj-deal-apply{display:block;color:#174d94;font-size:10px;font-weight:800;margin-top:4px}.mj-card-deal-button:focus-visible,.mj-offer-pick:focus-visible,.mj-offer-tab:focus-visible{outline:3px solid #ffb900;outline-offset:2px}

/* v2.3.39 — Mobile collision fix: keep Special Offers clear of the
   bottom booking bar and the third-party floating chat launcher. */
@media (max-width: 768px) {
  .mj-offer-widget {
    top: clamp(105px, 23dvh, 190px) !important;
    bottom: auto !important;
    right: 0 !important;
  }
  .mj-offer-tab {
    top: 0 !important;
    bottom: auto !important;
    width: 52px;
    padding: 9px 3px;
    font-size: 9px;
    border-radius: 12px 0 0 12px;
  }
  .mj-offer-tab span:first-child { font-size: 18px; }
  .mj-offer-panel {
    top: 0 !important;
    bottom: auto !important;
    max-height: calc(100dvh - 210px) !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 390px) and (max-height: 650px) {
  .mj-offer-widget { top: 96px !important; }
  .mj-offer-panel { max-height: calc(100dvh - 178px) !important; }
}

/* v2.3.40 — Mobile coupon panel close and viewport-safe modal fix. */
.mj-offer-backdrop { display:none; }
@media (max-width:768px) {
  .mj-offer-widget.is-open { z-index:2147483000 !important; }
  .mj-offer-widget.is-open .mj-offer-backdrop {
    display:block; position:fixed; inset:0; background:rgba(9,29,63,.52);
    z-index:0; touch-action:manipulation;
  }
  .mj-offer-widget .mj-offer-panel {
    position:fixed !important;
    top:max(12px,env(safe-area-inset-top)) !important;
    bottom:max(12px,env(safe-area-inset-bottom)) !important;
    left:12px !important; right:12px !important;
    width:auto !important; max-width:none !important;
    height:auto !important; max-height:none !important;
    box-sizing:border-box !important;
    border-radius:16px !important;
    z-index:1; overflow-y:auto; -webkit-overflow-scrolling:touch;
    transform:translateX(calc(100vw + 30px));
  }
  .mj-offer-widget.is-open .mj-offer-panel { transform:translateX(0); }
  .mj-offer-widget .mj-offer-heading {
    position:sticky; top:-16px; z-index:5;
    background:#fff; padding:6px 0 4px;
  }
  .mj-offer-widget .mj-offer-close {
    display:flex !important; align-items:center; justify-content:center;
    position:relative !important; z-index:7 !important;
    width:44px !important; height:44px !important; min-width:44px;
    flex-shrink:0; padding:0 !important; line-height:1 !important;
    background:#133c82 !important; color:#fff !important;
    font-size:30px !important; border-radius:50%; touch-action:manipulation;
  }
}

/* v2.3.43: contextual offers inside quote estimate; does not affect site-wide drawer */
.mj-quote-offers{margin-top:14px;padding:13px 0 9px;border-top:1px solid rgba(255,255,255,.2);min-width:0}
.mj-quote-offers-title{color:white;font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px;margin-bottom:10px}
.mj-quote-offers-title>span{color:#ffc12c;font-size:18px}
.mj-quote-offers-title small{font-size:11px;color:rgba(255,255,255,.7);font-weight:500;margin-left:auto}
.mj-quote-service-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.mj-quote-service-offers[hidden]{display:none!important}
.mj-quote-offer-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:92px;padding:10px 11px;background:#fff;color:#173c82;border:2px solid transparent;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s ease,transform .15s ease}
.mj-quote-offer-btn:nth-child(2){background:#fff7de}
.mj-quote-offer-btn span{font-size:10px;line-height:1.35;font-weight:750;color:#526686}
.mj-quote-offer-btn strong{font-size:20px;line-height:1.15;color:#153e8c;font-weight:850}
.mj-quote-offer-btn em{font-size:11px;font-weight:800;font-style:normal;color:#1451a9}
.mj-quote-offer-btn:hover{border-color:#ffbe16;transform:translateY(-1px)}
.mj-quote-offer-btn:focus-visible{outline:3px solid #ffcf38;outline-offset:2px}
.mj-quote-offer-btn[disabled]{opacity:.7;cursor:wait}
.mj-quote-offers-note{color:rgba(255,255,255,.65);font-size:10px;line-height:1.4;margin:8px 0 0}
@media(max-width:420px){.mj-quote-offer-btn{padding:9px 8px;min-height:86px}.mj-quote-offer-btn strong{font-size:18px}.mj-quote-offers-title small{font-size:10px}}
