/* V20.56.12 | VisoCarte FAQ: accessible mobile question bottom sheet.
   Scoped to the platform FAQ; desktop stays an inline composer. */
body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-handle,
body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-eyebrow,
body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-intro {
  display:none;
}
body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-heading {
  min-width:0;
}
body[data-public-platform="1"][data-page="faq"] .vcfaq-compose-head button[data-vcfaq-close] {
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:12px;
}
body[data-public-platform="1"][data-page="faq"] .vcfaq-compose-head button[data-vcfaq-close] svg {
  display:block;
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
body[data-public-platform="1"][data-page="faq"] .vcfaq-form-alert {
  display:block;
  padding:12px 14px;
  margin:0;
  border:1px solid #efbdc8;
  border-radius:12px;
  background:#fff2f4;
  color:#9e2849;
  font-size:12px;
  line-height:1.55;
  font-weight:700;
}
body[data-public-platform="1"][data-page="faq"] .vcfaq-form-alert[hidden] {display:none!important;}
@media (max-width:767px) {
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-toast {
    position:fixed;
    bottom:max(25px,env(safe-area-inset-bottom));
    left:50%;
    transform:translateX(-50%);
    z-index:2147482002;
    display:flex;
    align-items:center;
    gap:10px;
    width:max-content;
    max-width:calc(100vw - 34px);
    box-sizing:border-box;
    padding:14px 17px;
    border:1px solid rgba(174,233,209,.4);
    border-radius:17px;
    background:#103e3b;
    color:#effff8;
    box-shadow:0 17px 46px rgba(5,30,55,.26);
    font-size:12px;
    font-weight:750;
    line-height:1.5;
    animation:vcfaqToastIn .24s ease-out;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-toast-icon {
    flex:0 0 24px;
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#2cc98e;
    color:#063e2b;
    font-size:13px;
    font-weight:950;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-backdrop {
    position:fixed;
    inset:0;
    z-index:2147482000;
    background:rgba(3,19,46,.68);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    animation:vcfaqSheetShade .22s ease-out both;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-composer.vcfaq-mobile-sheet {
    position:fixed!important;
    top:auto!important;
    left:0!important;
    right:0!important;
    bottom:var(--vcfaq-sheet-keyboard-offset,0px)!important;
    z-index:2147482001!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    gap:15px;
    width:100%!important;
    max-width:100%!important;
    max-height:min(92dvh,var(--vcfaq-sheet-available-height,92dvh));
    min-height:0;
    box-sizing:border-box;
    margin:0!important;
    padding:0 clamp(18px,5vw,26px) max(19px,env(safe-area-inset-bottom))!important;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    border:1px solid rgba(151,204,240,.38);
    border-bottom:0;
    border-radius:30px 30px 0 0!important;
    background:linear-gradient(160deg,#ffffff 1%,#f4f9ff 100%);
    box-shadow:0 -28px 96px rgba(0,20,58,.32);
    animation:vcfaqSheetReveal .33s cubic-bezier(.2,.9,.22,1) both;
    transform-origin:bottom center;
    scrollbar-width:thin;
    scrollbar-color:#bfdbef transparent;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-sheet-handle {
    display:block;
    justify-self:center;
    width:43px;
    height:5px;
    margin-top:11px;
    margin-bottom:0;
    border-radius:100px;
    background:#cadde9;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-compose-head {
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:5px 0 12px;
    background:linear-gradient(180deg,#fbfdff 82%,rgba(251,253,255,.94));
    border-bottom:1px solid #e4edf4;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-sheet-heading {
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-sheet-eyebrow {
    display:block;
    color:#1387bc;
    font-size:10px;
    font-weight:850;
    line-height:1.25;
    letter-spacing:.09em;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-compose-head strong {
    display:block;
    font-size:clamp(21px,5.6vw,27px);
    line-height:1.17;
    color:#0b2b4e;
    letter-spacing:-.035em;
    font-weight:900;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-compose-head button[data-vcfaq-close] {
    width:39px;
    height:39px;
    flex-basis:39px;
    background:#edf4fa;
    border:1px solid #ddebf5;
    border-radius:14px;
    color:#345c79;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-sheet-intro {
    display:block;
    margin:0;
    color:#688297;
    font-size:12px;
    font-weight:520;
    line-height:1.7;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-reply-to {
    margin:0;
    border:1px solid #cde8f6;
    background:#eaf6fd;
    color:#126996;
    font-weight:700;
    font-size:12px;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-form-row {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:13px;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet label {
    display:grid;
    gap:7px;
    color:#2e516e;
    font-size:12px;
    font-weight:830;
    line-height:1.4;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet input:not([type="hidden"]),
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet textarea {
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid #d6e5f0;
    border-radius:14px;
    background:#fff;
    color:#143555;
    font-size:16px;
    line-height:1.45;
    box-shadow:0 4px 12px rgba(16,72,124,.035);
    transition:border-color .2s,box-shadow .2s;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet textarea {
    min-height:118px;
    max-height:260px;
    resize:vertical;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet input:focus,
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet textarea:focus {
    border-color:#48b8ee;
    box-shadow:0 0 0 3px rgba(39,157,227,.13);
    outline:none;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-account {
    margin:0;
    border-radius:14px;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-login-prompt {
    font-size:11px;
    line-height:1.6;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-form-foot {
    position:sticky;
    bottom:-1px;
    z-index:4;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:11px;
    margin:0;
    padding:14px 0 max(9px,env(safe-area-inset-bottom));
    border-top:1px solid #e1ecf5;
    background:linear-gradient(180deg,rgba(247,251,255,.97),#f7fbff);
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-form-foot small {
    font-size:10px;
    line-height:1.6;
    color:#71879b;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-submit {
    width:100%;
    min-height:50px;
    border-radius:15px;
    border:1px solid #0574bf;
    background:linear-gradient(110deg,#169fe7 0%,#0067c1 100%);
    box-shadow:0 10px 24px rgba(6,112,196,.19);
    font-size:13px;
    font-weight:860;
    letter-spacing:.01em;
  }
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet .vcfaq-submit:active {
    transform:scale(.985);
  }
}
@keyframes vcfaqToastIn {
  from {opacity:0;transform:translate(-50%,20px);}
  to {opacity:1;transform:translate(-50%,0);}
}
@keyframes vcfaqSheetShade {
  from { opacity:0; } to { opacity:1; }
}
@keyframes vcfaqSheetReveal {
  from { transform:translateY(102%); opacity:.86; }
  to { transform:translateY(0); opacity:1; }
}
@media (max-width:767px) and (max-height:520px) {
  body[data-public-platform="1"][data-page="faq"] .vcfaq-composer.vcfaq-mobile-sheet {
    max-height:calc(100dvh - 4px);
    border-radius:20px 20px 0 0!important;
    gap:10px;
  }
}
@media (prefers-reduced-motion:reduce) {
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-toast,
  body[data-public-platform="1"][data-page="faq"] .vcfaq-sheet-backdrop,
  body[data-public-platform="1"][data-page="faq"] .vcfaq-mobile-sheet {
    animation:none!important;
    transition:none!important;
  }
}