/* Floating assistance and sondage */
.fab-launcher{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:1200;
}
.fab-main{
    width:64px;
    height:64px;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,var(--accent-secondary-color),#FFCB4C);
    color:var(--primary-color);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 50px rgba(246,163,19,.38);
    transition:transform .2s ease, box-shadow .2s ease;
}
.fab-main svg{
    width:26px;
    height:26px;
    stroke:currentColor;
    stroke-width:2.4;
    stroke-linecap:round;
    transition:transform .2s ease;
}
.fab-launcher.is-open .fab-main svg{transform:rotate(45deg);}
.fab-main:hover{transform:translateY(-2px);box-shadow:0 22px 56px rgba(246,163,19,.46);}
.fab-popover{
    position:absolute;
    right:0;
    bottom:78px;
    width:318px;
    padding:12px;
    border:1px solid rgba(8,43,97,.1);
    border-radius:14px;
    background:#fff;
    box-shadow:0 24px 70px rgba(8,43,97,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.fab-launcher.is-open .fab-popover{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.fab-action{
    width:100%;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border-radius:10px;
    text-align:left;
    color:var(--primary-color);
}
.fab-action:hover{background:#f4f9fd;}
.fab-action-icon{
    width:42px;
    height:42px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex:0 0 auto;
}
.fab-action-icon svg{
    width:21px;
    height:21px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ic-chat{background:#0b5fad;}
.ic-a11y{background:#14846b;}
.ic-survey{background:#d97706;}
.fab-action-text{display:grid;gap:2px;}
.fab-action-title{font-weight:800;font-size:14px;}
.fab-action-desc{font-size:12px;color:#64748b;}
.fab-online-dot{
    margin-left:auto;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
}
.fab-divider{height:1px;background:#edf3f8;margin:2px 8px;}

.a11y-widget{
    position:fixed;
    left:22px;
    bottom:22px;
    z-index:1220;
}
.a11y-btn{
    width:58px;
    height:58px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:var(--primary-color);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    box-shadow:0 18px 46px rgba(8,43,97,.2);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.a11y-btn:hover,
.a11y-widget.is-open .a11y-btn{
    transform:translateY(-2px);
    background:var(--primary-color);
    color:#fff;
    box-shadow:0 22px 56px rgba(8,43,97,.28);
}
.a11y-panel{
    position:absolute;
    left:0;
    bottom:72px;
    width:min(390px,calc(100vw - 44px));
    max-height:calc(100vh - 118px);
    overflow:auto;
    border:1px solid rgba(8,43,97,.12);
    border-radius:14px;
    background:#fff;
    box-shadow:0 26px 78px rgba(8,43,97,.22);
}
.a11y-header{
    position:sticky;
    top:0;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    background:linear-gradient(135deg,var(--primary-color),#0b5fad);
    color:#fff;
    font-weight:800;
}
.a11y-close{
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    color:#fff;
}
.a11y-body{
    padding:14px;
}
.a11y-reset{
    width:100%;
    border:1px solid #dbeafe;
    border-radius:10px;
    background:#f4f9fd;
    color:var(--primary-color);
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:800;
    font-size:13px;
}
.a11y-section{
    margin:16px 0 10px;
    color:var(--primary-color);
    font-size:14px;
    font-weight:900;
}
.a11y-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.a11y-card{
    min-height:86px;
    border:1px solid #dbeafe;
    border-radius:10px;
    background:#fff;
    color:#17324d;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    padding:12px;
    text-align:center;
    font-weight:800;
    font-size:13px;
    line-height:1.25;
    transition:border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.a11y-card i{
    color:var(--accent-color);
    font-size:21px;
}
.a11y-card--row{
    grid-column:1 / -1;
    min-height:auto;
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
}
.a11y-card-ico{
    width:42px;
    height:42px;
    border-radius:10px;
    background:#eef6ff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.a11y-card-actions{
    flex:1;
    min-width:0;
    display:grid;
    gap:8px;
}
.a11y-card-title{
    font-size:13px;
    font-weight:900;
}
.a11y-row{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.a11y-pill{
    border:1px solid #dbeafe;
    border-radius:999px;
    background:#f8fbff;
    color:var(--primary-color);
    padding:6px 10px;
    min-width:42px;
    font-weight:900;
    font-size:12px;
}
.a11y-card:hover,
.a11y-card.is-active,
.a11y-pill:hover,
.a11y-pill.is-active{
    border-color:var(--accent-secondary-color);
    background:#fff8e6;
    color:var(--primary-color);
    box-shadow:0 12px 28px rgba(8,43,97,.08);
}
.a11y-icon-text{
    width:28px;
    height:28px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef6ff;
    color:var(--accent-color);
    font-weight:900;
}
#a11yCursorRing{
    position:fixed;
    left:0;
    top:0;
    width:34px;
    height:34px;
    border:3px solid var(--accent-secondary-color);
    border-radius:50%;
    pointer-events:none;
    z-index:9999;
    opacity:0;
    transform:translate(-50%,-50%);
}
body.a11y-cursor #a11yCursorRing{opacity:1;}
body.a11y-cursor,
body.a11y-cursor *{cursor:crosshair !important;}
body.a11y-font{
    font-size:calc(16px * var(--a11y-font-scale,1));
}
body.a11y-spacing :where(p, li, a, button, input, textarea, label, span){
    word-spacing:var(--a11y-word-spacing,normal);
}
body.a11y-lines :where(p, li, a, button, input, textarea, label, span){
    line-height:var(--a11y-line-height,inherit);
}
body.a11y-dyslexia,
body.a11y-dyslexia *{
    font-family:Verdana,Arial,sans-serif !important;
}
body.a11y-underline a{
    text-decoration:underline !important;
    text-decoration-thickness:2px !important;
    text-underline-offset:4px !important;
}
body.a11y-hide-img img,
body.a11y-hide-img picture,
body.a11y-hide-img video{
    visibility:hidden !important;
}
body.a11y-saturate{
    filter:saturate(1.45);
}
body.a11y-no-anim *,
body.a11y-no-anim *::before,
body.a11y-no-anim *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
}
body.a11y-contrast{
    background:#050608 !important;
    color:#fff !important;
}
body.a11y-contrast :where(section, header, footer, nav, article, aside, .gct-card, .qr-card, .qr-section, .fab-popover, .portal-chatbot__panel, #survey-modal, .a11y-panel){
    background:#050608 !important;
    color:#fff !important;
    border-color:#f8fafc !important;
}
body.a11y-contrast :where(h1, h2, h3, h4, h5, h6, a, strong, .gct-mini-link, .a11y-section){
    color:#ffd34d !important;
}
body.a11y-contrast :where(input, textarea, select, .a11y-card, .a11y-pill, .portal-chatbot__message--bot){
    background:#111827 !important;
    color:#fff !important;
    border-color:#fff !important;
}
body.a11y-contrast :where(button, .survey-btn){
    outline-color:#ffd34d;
}
html[dir="rtl"] .a11y-card--row{
    text-align:right;
}
html[dir="rtl"] .a11y-panel{
    text-align:right;
}

.portal-chatbot{
    position:fixed;
    right:22px;
    bottom:108px;
    width:min(380px,calc(100vw - 32px));
    z-index:1190;
    opacity:0;
    visibility:hidden;
    transform:translateY(16px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.portal-chatbot.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.portal-chatbot__panel{
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(8,43,97,.1);
    box-shadow:0 24px 70px rgba(8,43,97,.2);
}
.portal-chatbot__header{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    color:#fff;
    background:linear-gradient(135deg,var(--primary-color),#0b5fad);
}
.portal-chatbot__avatar{
    width:42px;
    height:42px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.16);
    flex:0 0 auto;
}
.portal-chatbot__header h2{font-size:16px;margin:0;color:#fff;}
.portal-chatbot__header p{font-size:12px;margin:2px 0 0;color:rgba(255,255,255,.82);}
.portal-chatbot__close{
    margin-left:auto;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
}
.portal-chatbot__messages{
    height:260px;
    overflow:auto;
    padding:14px;
    background:#f7fbfe;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.portal-chatbot__message{
    max-width:86%;
    padding:10px 12px;
    border-radius:12px;
    font-size:13px;
    line-height:1.45;
}
.portal-chatbot__message--bot{
    align-self:flex-start;
    background:#fff;
    color:#17324d;
    border:1px solid #e8f1f8;
}
.portal-chatbot__message--user{
    align-self:flex-end;
    background:var(--primary-color);
    color:#fff;
}
.portal-chatbot__chips{
    display:flex;
    gap:8px;
    padding:12px 14px 0;
    flex-wrap:wrap;
}
.portal-chatbot__chips button{
    border:1px solid #d9eaf5;
    background:#f4f9fd;
    color:var(--primary-color);
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:700;
}
.portal-chatbot__form{
    display:flex;
    gap:8px;
    padding:14px;
}
.portal-chatbot__form input{
    min-width:0;
    flex:1;
    border:1px solid #d9eaf5;
    border-radius:10px;
    padding:10px 12px;
}
.portal-chatbot__form button{
    width:42px;
    border:0;
    border-radius:10px;
    background:var(--accent-secondary-color);
    color:var(--primary-color);
}

#survey-modal{
    position:fixed;
    right:22px;
    bottom:108px;
    width:min(430px,calc(100vw - 32px));
    max-height:calc(100vh - 132px);
    overflow:auto;
    z-index:1210;
    border:1px solid rgba(8,43,97,.1);
    border-radius:14px;
    background:#fff;
    box-shadow:0 26px 78px rgba(8,43,97,.22);
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(16px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
#survey-modal.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}
#survey-close{
    position:absolute;
    top:10px;
    right:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#f1f6fb;
    color:#17324d;
    font-size:24px;
    line-height:1;
}
#survey-modal.is-rtl{text-align:right;}
#survey-modal.is-rtl #survey-close{
    right:auto;
    left:12px;
}
#survey-modal.is-rtl .survey-disable-auto{
    left:auto;
    right:18px;
}
#survey-modal.is-rtl .survey-header,
#survey-modal.is-rtl .star-label,
#survey-modal.is-rtl .thank-you{text-align:center;}
.survey-disable-auto{
    position:absolute;
    top:15px;
    left:18px;
    border:0;
    background:transparent;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}
.survey-step{display:none;}
.survey-step.active{display:block;}
.survey-header{text-align:center;margin-bottom:20px;padding-top:8px;}
.survey-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:5px 11px;
    border-radius:999px;
    background:#e9f6fb;
    color:var(--primary-color);
    font-size:12px;
    font-weight:900;
    margin-bottom:10px;
}
.survey-header h2{
    margin:0;
    font-size:22px;
    line-height:1.2;
    color:var(--primary-color);
}
.survey-header p{
    margin:8px 0 0;
    color:#64748b;
    font-size:14px;
}
.star-row{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin:16px 0 8px;
}
.star{
    border:1px solid #d9eaf5;
    border-radius:10px;
    background:#f8fbfe;
    color:#cbd5e1;
    height:48px;
    font-size:27px;
    line-height:1;
    transition:background .2s ease, color .2s ease, transform .2s ease;
}
.star.is-active,
.star:hover{
    background:#fff8e1;
    color:#f5a400;
    transform:translateY(-1px);
}
.star-label{text-align:center;color:#64748b;font-size:13px;margin-bottom:16px;}
.quick-questions{display:grid;gap:12px;margin-bottom:18px;}
.qq-item{
    border:1px solid #e4eff6;
    background:#f8fbfe;
    border-radius:12px;
    padding:12px;
}
.qq-item label{
    display:block;
    color:#17324d;
    font-weight:800;
    font-size:13px;
    margin-bottom:10px;
}
.toggle-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tgl{
    border:1px solid #d9eaf5;
    border-radius:10px;
    background:#fff;
    color:#17324d;
    min-height:40px;
    font-weight:800;
}
.tgl.active{
    border-color:var(--primary-color);
    background:#e9f6fb;
    color:var(--primary-color);
}
#survey-email,
#survey-comment{
    width:100%;
    border:1px solid #d9eaf5;
    border-radius:10px;
    padding:11px 12px;
    margin-bottom:10px;
    font-size:14px;
}
#survey-comment{resize:vertical;min-height:108px;}
.char-count{text-align:right;font-size:12px;color:#64748b;margin-bottom:10px;}
.survey-error{
    border:1px solid #fecaca;
    background:#fff1f2;
    color:#b91c1c;
    border-radius:10px;
    padding:9px 11px;
    font-size:13px;
}
.survey-btn{
    width:100%;
    border:0;
    border-radius:10px;
    background:var(--primary-color);
    color:#fff;
    min-height:46px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.survey-btn:disabled{opacity:.55;cursor:not-allowed;}
.thank-you{text-align:center;padding:14px 0 4px;}
.ty-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 14px;
    background:#e8f8ef;
    color:#16a34a;
    font-size:28px;
    font-weight:900;
}
.thank-you h2{font-size:22px;color:var(--primary-color);margin-bottom:8px;}
.thank-you p{color:#64748b;margin-bottom:18px;}
body.gct-a11y-focus a:focus,
body.gct-a11y-focus button:focus,
body.gct-a11y-focus input:focus,
body.gct-a11y-focus textarea:focus{
    outline:3px solid #f5a400;
    outline-offset:3px;
}

html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-arrow-left,
html[dir="rtl"] .fas.fa-arrow-right,
html[dir="rtl"] .fas.fa-arrow-left,
html[dir="rtl"] .bi-arrow-right,
html[dir="rtl"] .bi-arrow-left,
html[dir="rtl"] .ri-arrow-right-line,
html[dir="rtl"] .ri-arrow-left-line,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .fa-chevron-left,
html[dir="rtl"] .qr-arrow span,
html[dir="rtl"] .abhsm-hero-nav span{
    display:inline-block;
    transform:scaleX(-1);
}
html[dir="rtl"] .gct-mini-link:hover .fa-arrow-right,
html[dir="rtl"] .gct-news-readmore:hover .fa-arrow-right,
html[dir="rtl"] .gct-news-card-link:hover .fa-arrow-right,
html[dir="rtl"] .qr-viewall__link:hover .fa-arrow-right,
html[dir="rtl"] .qr-card__cta:hover .fa-arrow-right{
    transform:translateX(-4px) scaleX(-1);
}
html[dir="rtl"] .gct-content-nav a:hover i.fa-arrow-right,
html[dir="rtl"] .gct-content-nav a:focus-visible i.fa-arrow-right{
    transform:translateX(-3px) scaleX(-1);
}

@media (max-width:575px){
    .fab-launcher{right:16px;bottom:16px;}
    .a11y-widget{left:16px;bottom:16px;}
    .fab-main{width:58px;height:58px;}
    .a11y-btn{width:54px;height:54px;font-size:23px;}
    .fab-popover,
    .portal-chatbot,
    #survey-modal{
        right:16px;
        width:calc(100vw - 32px);
    }
    .a11y-panel{
        left:0;
        bottom:66px;
        width:calc(100vw - 32px);
        max-height:calc(100vh - 98px);
    }
    .a11y-grid{grid-template-columns:1fr;}
    .fab-popover{bottom:72px;}
    .portal-chatbot,
    #survey-modal{bottom:88px;}
    #survey-modal{padding:20px;}
    .survey-header h2{font-size:20px;}
}
