/* Ravix Store 5.3 — configurable services shortcuts. Independent from sliders. */
.rvx-quicklinks,
.rvx-quicklinks *{box-sizing:border-box}
.rvx-quicklinks{direction:rtl;position:relative;z-index:4;width:min(calc(100% - 32px),var(--rvx-home-content-width,1320px));max-width:100%;margin:0 auto;padding:20px 0 23px;background:var(--rvx-ql-bg,#fff);font-family:inherit;color:#343456;isolation:isolate}
.rvx-quicklinks .rvx-ql__inner{display:grid;grid-template-columns:repeat(var(--rvx-ql-cols,10),minmax(0,1fr));gap:8px;align-items:start;justify-content:center;max-width:100%;margin:0 auto}
.rvx-quicklinks .rvx-ql__inner--mobile{display:none}
.rvx-quicklinks .rvx-ql__item{min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;color:#41405e;text-decoration:none;background:transparent;border:0;padding:4px 2px;font:inherit;cursor:pointer;line-height:1.5;transition:transform .2s ease}
.rvx-quicklinks .rvx-ql__item:hover{color:var(--rvx-ql-accent,#245be8);transform:translateY(-3px)}
.rvx-quicklinks .rvx-ql__item:focus-visible{outline:2px solid var(--rvx-ql-accent,#245be8);outline-offset:4px;border-radius:12px}
.rvx-quicklinks .rvx-ql__circle{display:grid;place-items:center;flex:none;width:var(--rvx-ql-size,54px);height:var(--rvx-ql-size,54px);border-radius:50%;background:var(--rvx-ql-icon-color,#245be8);color:#fff;overflow:visible;position:relative}
.rvx-quicklinks .rvx-ql__vector{width:47%;height:47%;display:block;color:inherit;}
.rvx-quicklinks .rvx-ql__image{display:block;width:100%;height:100%;border-radius:50%;object-fit:contain}
.rvx-quicklinks .rvx-ql__emoji{font-size:calc(var(--rvx-ql-size,76px) * .43);font-weight:800;line-height:1;user-select:none}
.rvx-quicklinks .rvx-ql__circle--more{background:#f1f1f2;color:#333;border:0}
.rvx-quicklinks .rvx-ql__label{font-size:12px;line-height:1.55;font-weight:700;max-width:150px;text-wrap:balance;overflow-wrap:anywhere;min-height:32px}
/* Keep the home sticky-underlay behavior: entire shortcut row forms a solid white sheet over the image. */
@media(max-width:760px){
 body .rvx-main.rvx-home .rvx-home-hero-stage > .rvx-quicklinks{
   position:relative!important;z-index:4!important;isolation:isolate!important;
   background:var(--rvx-ql-bg,#fff)!important;
   margin:0 auto!important;padding:14px 8px 16px!important;
 }
 body .rvx-home-hero-stage > .rvx-quicklinks::before{
   content:"";position:absolute;inset-block:0;left:50%;width:100vw;
   transform:translateX(-50%);background:var(--rvx-ql-bg,#fff);z-index:-1;pointer-events:none;
 }
 .rvx-quicklinks{width:100%;max-width:100%;padding:14px 8px 18px;} /* Preserve original full-bleed mobile sticky underlay */
 .rvx-quicklinks .rvx-ql__inner--desktop{display:none}
 .rvx-quicklinks .rvx-ql__inner--mobile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
 .rvx-quicklinks .rvx-ql__circle{width:clamp(40px,11.5vw,52px);height:clamp(40px,11.5vw,52px)}
 .rvx-quicklinks .rvx-ql__emoji{font-size:22px}
 .rvx-quicklinks .rvx-ql__circle--more svg{width:20px;height:20px}
 .rvx-quicklinks .rvx-ql__label{font-size:10px;font-weight:680;min-height:30px;max-width:70px;line-height:1.5}
 .rvx-quicklinks .rvx-ql__item{gap:6px;padding:3px 0}
}
@media(min-width:761px) and (max-width:1100px){
 .rvx-quicklinks .rvx-ql__circle{width:clamp(42px,6vw,var(--rvx-ql-size,54px));height:clamp(42px,6vw,var(--rvx-ql-size,54px))}
 .rvx-quicklinks .rvx-ql__label{font-size:11px}
}
/* Standalone dialog: moved to document.body so transforms, Elementor container overflows and sticky slider cannot clip it. */
html.rvx-ql-modal-open,body.rvx-ql-modal-open{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important;touch-action:none}
body.rvx-ql-modal-open{position:fixed!important;inset:0;width:100%!important}
.rvx-ql-modal[hidden]{display:none!important}
.rvx-ql-modal{position:fixed;inset:0;z-index:999995;display:flex;justify-content:center;align-items:center;padding:24px;direction:rtl;font-family:inherit;isolation:isolate}
.rvx-ql-modal__veil{position:absolute;inset:0;background:rgba(15,20,35,.44);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.rvx-ql-modal__panel{position:relative;z-index:1;background:#fff;color:#22243f;width:min(780px,calc(100vw - 32px));max-height:min(86vh,850px);display:flex;flex-direction:column;border-radius:16px;box-shadow:0 22px 65px rgba(10,20,40,.2);overflow:hidden;opacity:0;transform:translateY(12px) scale(.985);transition:transform .22s ease,opacity .22s ease}
.rvx-ql-modal.is-open .rvx-ql-modal__panel{opacity:1;transform:translateY(0) scale(1)}
.rvx-ql-modal__header{min-height:52px;border-bottom:1px solid #e6e8ed;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rvx-ql-modal__header strong{font-size:15px;font-weight:800}
.rvx-ql-modal__close{width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#323843;cursor:pointer;order:2}
.rvx-ql-modal__close:hover{background:#f4f5f6}
.rvx-ql-modal__scroll{overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 16px;scrollbar-color:#dadce4 transparent}
.rvx-ql-modal__icons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 8px;align-items:start}
.rvx-ql-modal__icons .rvx-ql__item{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:#373652;text-decoration:none;min-width:0;padding:2px;background:transparent;border:0;transition:transform .18s ease}
.rvx-ql-modal__icons .rvx-ql__item:hover{transform:translateY(-2px)}
.rvx-ql-modal__icons .rvx-ql__circle{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--rvx-ql-icon-color);color:white}
.rvx-ql-modal__icons .rvx-ql__emoji{font-size:24px;font-weight:800}
.rvx-ql-modal__icons .rvx-ql__image{width:100%;height:100%;border-radius:50%;object-fit:contain}
.rvx-ql-modal__icons .rvx-ql__label{font-size:11px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.rvx-ql-modal__subhead{font-size:12px;color:#818895;font-weight:800;margin:24px 0 10px}
.rvx-ql-modal__services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rvx-ql-modal__service{display:flex;align-items:center;gap:10px;text-decoration:none;border:1px solid #e3e5e9;border-radius:13px;padding:10px 12px;color:#2f3152;min-width:0;transition:border-color .17s ease,box-shadow .17s ease}
.rvx-ql-modal__service:hover{border-color:#becaf4;box-shadow:0 3px 14px rgba(15,23,42,.05)}
.rvx-ql-modal__serviceicon{width:43px;height:43px;flex:0 0 43px;border-radius:50%;display:grid;place-items:center;background:var(--rvx-ql-icon-color);font-size:20px;color:#fff;overflow:hidden}
.rvx-ql-modal__serviceicon .rvx-ql__image{width:100%;height:100%;object-fit:contain;border-radius:50%}
.rvx-ql-modal__servicetext{min-width:0;flex:1;display:grid;gap:4px}
.rvx-ql-modal__servicetext strong{font-size:13px;font-weight:750;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rvx-ql-modal__servicetext small{color:#9298a3;font-size:10px;line-height:1.5;white-space:normal}
.rvx-ql-modal__arrow{color:#9fa7b0;font-size:25px;line-height:1}
@media(max-width:760px){
 .rvx-ql-modal{padding:0;align-items:flex-end}
 .rvx-ql-modal__panel{width:100vw;max-height:89dvh;max-height:89vh;border-radius:20px 20px 0 0;transform:translateY(22px)}
 .rvx-ql-modal__scroll{padding:14px 12px calc(16px + env(safe-area-inset-bottom,0px))}
 .rvx-ql-modal__icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 6px}
 .rvx-ql-modal__services{grid-template-columns:1fr}
 .rvx-ql-modal__header{min-height:56px}
}
@media(prefers-reduced-motion:reduce){
 .rvx-quicklinks .rvx-ql__item,.rvx-ql-modal__panel,.rvx-ql-modal__service{transition:none!important}
}

.rvx-ql-modal__icons .rvx-ql__vector{width:25px;height:25px;display:block}
.rvx-ql-modal__serviceicon .rvx-ql__vector{width:23px;height:23px;display:block}
/* Elementor can place this widget in a narrow column on a wide desktop.
   Container rules adapt to the real widget width, not only the viewport. */
.rvx-quicklinks{container-type:inline-size}
@container (max-width:680px){
 .rvx-ql__inner--desktop{display:none!important}
 .rvx-ql__inner--mobile{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
 .rvx-ql__inner--mobile .rvx-ql__circle{width:clamp(38px,10vw,52px)!important;height:clamp(38px,10vw,52px)!important}
 .rvx-ql__inner--mobile .rvx-ql__label{font-size:10px!important;max-width:75px!important;min-height:30px!important}
}
