.cookie-banner{position:fixed!important;z-index:2147483647!important;left:auto!important;right:16px!important;bottom:16px!important;top:auto!important;transform:none!important;width:min(210px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 32px)!important;box-sizing:border-box!important;background:#fff!important;color:#303438!important;border-radius:10px!important;box-shadow:0 6px 24px rgba(0,0,0,.25)!important;font-family:inherit!important;overflow:auto!important}
.cookie-banner__body{padding:9px 10px 7px!important}
.cookie-banner h2{font-family:inherit!important;font-size:13px!important;line-height:1.2!important;margin:0 0 5px!important;font-weight:600!important}
.cookie-banner p{font-family:inherit!important;font-size:10px!important;line-height:1.3!important;margin:0!important;color:#60666b!important}
.cookie-banner a{font-family:inherit!important;font-size:inherit!important;font-weight:600!important;color:inherit!important;text-decoration:underline!important;white-space:normal!important}
.cookie-banner__action{border-top:1px solid #e8eaec!important;padding:6px 10px 8px!important}
.cookie-banner button{display:block!important;width:100%!important;min-height:30px!important;padding:5px 9px!important;border:0!important;border-radius:7px!important;background:#30363c!important;color:#fff!important;font-family:inherit!important;font-size:12px!important;line-height:1.15!important;font-weight:600!important;cursor:pointer!important}
.cookie-banner button:hover{background:#22272c!important}
@media(max-width:700px){.cookie-banner{left:auto!important;right:10px!important;bottom:10px!important;width:min(180px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:9px!important}.cookie-banner__body{padding:8px 9px 6px!important}.cookie-banner h2{font-size:12px!important;line-height:1.15!important;margin-bottom:4px!important}.cookie-banner p{font-size:9px!important;line-height:1.25!important}.cookie-banner__action{padding:5px 9px 7px!important}.cookie-banner button{min-height:28px!important;padding:4px 8px!important;font-size:11px!important}}
.legal-modal[hidden]{display:none}
.legal-modal{position:fixed;inset:0;z-index:2147483001}
.legal-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.legal-modal__panel{position:absolute;right:0;top:0;height:100%;width:min(680px,40vw);background:#fff;box-shadow:0 0 35px rgba(0,0,0,.2)}
.legal-modal__frame{border:0;width:100%;height:100%;display:block}
.legal-modal__close{position:absolute;z-index:2;right:22px;top:12px;width:42px;height:42px;border:0;background:rgba(255,255,255,.9);color:#555;font:36px/1 Arial,sans-serif;cursor:pointer}
body.legal-modal-open{overflow:hidden}
.cookie-banner button{font-family:inherit;font-size:16px;font-weight:600}
@media(max-width:700px){.legal-modal__panel{width:100vw}.legal-modal__close{top:8px;right:12px}}

.ecc-disclaimer-trigger{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;text-decoration:underline;padding:0}.ecc-disclaimer-trigger:hover{opacity:.75}
.ecc-document{margin:0;color:#303438;font:15px/1.65 Arial,sans-serif}.ecc-document main{max-width:940px;margin:auto;padding:25px 20px}.ecc-document h1{font-size:25px;line-height:1.3}.ecc-document .ecc-pre{white-space:pre-wrap;overflow-wrap:anywhere}.ecc-doc-note{font-size:12px;color:#666}.ecc-disclaimer-list{padding-left:20px}.ecc-disclaimer-list li{margin-bottom:25px}.ecc-disclaimer-list h2{font-size:17px;margin:0 0 8px}.ecc-disclaimer-list p{margin:0 0 10px}.ecc-disclaimer-list a{overflow-wrap:anywhere}
.legal-modal__panel{width:min(800px,80vw)}@media(max-width:700px){.legal-modal__panel{width:100vw}}

/* ECC footer link alignment: use original site Tiffany (#00cabf). */
.footer__content .ecc-footer-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 7px;
  padding: 0;
  text-align: left;
}
.footer__content .ecc-footer-legal > a,
.footer__content .ecc-footer-legal > button,
.footer__content .ecc-footer-legal > a:link,
.footer__content .ecc-footer-legal > a:visited,
.footer__content .ecc-footer-legal > a:hover,
.footer__content .ecc-footer-legal > a:active {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #00cabf;
  font: inherit;
  line-height: 1.35;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: normal;
  overflow-wrap: break-word;
  cursor: pointer;
}
.footer__content .ecc-footer-legal > a:focus-visible,
.footer__content .ecc-footer-legal > button:focus-visible {
  outline: 2px solid #00cabf;
  outline-offset: 3px;
}


/* ECC mobile footer accessibility: visual-only, no quiz behavior edits. */
@media screen and (max-width: 700px) {
  .footer .footer__content {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #f6faf9 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.78), 0 0 8px rgba(0,0,0,.52);
    overflow-wrap: break-word;
    padding: 0 !important;
    border-radius: 0;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .footer .ecc-footer-legal {
    gap: 8px !important;
    margin-top: 10px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .footer .ecc-footer-legal > a,
  .footer .ecc-footer-legal > button,
  .footer .ecc-footer-legal > a:visited {
    color: #00cabf !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.9);
  }
  /* Rounded outer panel; do not clip child modals or quiz scrolling. */
  .chat {
    border-radius: 18px !important;
  }
  .chat > .container {
    border-radius: inherit !important;
  }
}

/* ECC 2026-10-16: mobile/tablet legal links centered, chat bottom softened. */
@media screen and (max-width: 1024px) {
  .footer .footer__content .ecc-footer-legal {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  .footer .footer__content .ecc-footer-legal > a,
  .footer .footer__content .ecc-footer-legal > button {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .chat {
    margin-bottom: 24px !important;
    border-radius: 0 0 18px 18px !important;
  }
  .chat .chat__container {
    border-radius: 0 0 18px 18px !important;
  }
}
