/* mrAG Style Kit: scoped, no font imports, no global reset. */
.mrag-sk-element { --mrag-cut:48px; --mrag-blur:16px; --mrag-border-width:1px; --mrag-motion-enabled:1; --mrag-loop-enabled:1; }
[class*="mrag-surface-custom-"] { background-color:var(--mrag-preset-bg); color:var(--mrag-preset-fg); border-radius:var(--mrag-preset-radius); --mrag-border-a:var(--mrag-preset-a); --mrag-border-b:var(--mrag-preset-b); }
.mrag-surface-minimal { --mrag-border-a:#bda16a; --mrag-border-b:#eee6d4; }
.mrag-surface-dark { background-color:rgba(14,19,30,.7); color:#fff; }
.mrag-surface-ivory { background-color:rgba(249,245,235,.8); color:#26231d; }
.mrag-surface-malekan { --mrag-border-a:#bf9a55; --mrag-border-b:#173c70; background-color:#102b4e; color:#fff; }
.mrag-glass-yes, .elementor-widget.mrag-glass-yes > .elementor-widget-container { background-color:var(--mrag-glass-bg,rgba(255,255,255,.15)); }
@supports (backdrop-filter:blur(1px)) { .mrag-glass-yes, .elementor-widget.mrag-glass-yes > .elementor-widget-container { backdrop-filter:blur(var(--mrag-blur)) saturate(var(--mrag-saturation,115%)); -webkit-backdrop-filter:blur(var(--mrag-blur)) saturate(var(--mrag-saturation,115%)); } }
/* Widgets keep Advanced → Background / Border / radius on .elementor-widget-container: the glass moves there so its corners match. */
.elementor-widget.mrag-glass-yes:has(> .elementor-widget-container) { background-color:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
/* Button widget: the glass is the button itself (a color you set on the button still wins). */
.elementor-widget-button.mrag-glass-yes, .elementor-widget-button.mrag-glass-yes > .elementor-widget-container { background-color:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.elementor-widget-button.mrag-glass-yes .elementor-button { background-color:var(--mrag-glass-bg,rgba(255,255,255,.15)); backdrop-filter:blur(var(--mrag-blur)) saturate(var(--mrag-saturation,115%)); -webkit-backdrop-filter:blur(var(--mrag-blur)) saturate(var(--mrag-saturation,115%)); }
@supports (mask-image:radial-gradient(black,transparent)) {
 .mrag-shape-tl { -webkit-mask-image:radial-gradient(circle at 0 0,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); mask-image:radial-gradient(circle at 0 0,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); }
 .mrag-shape-tr { -webkit-mask-image:radial-gradient(circle at 100% 0,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); mask-image:radial-gradient(circle at 100% 0,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); }
 .mrag-shape-bl { -webkit-mask-image:radial-gradient(circle at 0 100%,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); mask-image:radial-gradient(circle at 0 100%,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); }
 .mrag-shape-br { -webkit-mask-image:radial-gradient(circle at 100% 100%,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); mask-image:radial-gradient(circle at 100% 100%,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); }
 .mrag-shape-double { mask-image:radial-gradient(circle at 0 0,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)),radial-gradient(circle at 100% 100%,transparent 0 calc(var(--mrag-cut) - 1px),#000 var(--mrag-cut)); mask-composite:intersect; }
}
.mrag-shape-diagonal { clip-path:polygon(var(--mrag-cut) 0,100% 0,100% calc(100% - var(--mrag-cut)),calc(100% - var(--mrag-cut)) 100%,0 100%,0 var(--mrag-cut)); }
.mrag-shape-arch,.mrag-media-mask-arch { border-radius:50% 50% 0 0 / 38% 38% 0 0; overflow:hidden; }
.mrag-shape-capsule,.mrag-media-mask-capsule { border-radius:999px; overflow:hidden; }
.mrag-media-mask-diamond { clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.mrag-fx-layer { position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2; }
.mrag-border-layer { border-radius:var(--mrag-border-radius,inherit); }
.mrag-border-layer { padding:var(--mrag-border-width,1px); background:linear-gradient(var(--mrag-border-angle,135deg),var(--mrag-border-a,#d5b675),var(--mrag-border-b,#4263aa),var(--mrag-border-a,#d5b675)); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; }
@supports not (mask-composite:exclude) { .mrag-border-layer { background:none; border:var(--mrag-border-width,1px) solid var(--mrag-border-a); padding:0; } }
.mrag-border-hover { opacity:0; transition:opacity .3s; }
.mrag-border-shimmer { background-size:300% 100%; background-position:var(--mrag-shimmer-pos,0%) 0; }
.mrag-border-hover { filter:drop-shadow(0 0 5px var(--mrag-border-a,#d5b675)); }
.mrag-sk-element:is(:hover,:focus-within) > .mrag-border-hover { opacity:1; }
.mrag-spotlight-layer { background:radial-gradient(var(--mrag-spot-size,280px) circle at var(--mrag-pointer-x,50%) var(--mrag-pointer-y,50%),var(--mrag-spotlight,rgba(255,255,255,.15)),transparent 70%); opacity:0; transition:opacity .25s; }
.mrag-sk-element:is(:hover,:focus-within) > .mrag-spotlight-layer { opacity:1; }
.mrag-motion-target { translate:calc(var(--mrag-x,0px) + var(--mrag-mx,0px)) calc(var(--mrag-y,0px) + var(--mrag-my,0px)); rotate:var(--mrag-rotate,0deg); scale:var(--mrag-scale,1); }
.mrag-cursor-label { position:fixed; left:0; top:0; width:var(--mrag-cursor-size,88px); height:var(--mrag-cursor-size,88px); border-radius:50%; display:grid; place-items:center; text-align:center; padding:10px; box-sizing:border-box; background:var(--mrag-cursor-bg,#121826); color:var(--mrag-cursor-fg,#fff); pointer-events:none; z-index:2147483000; opacity:0; overflow:hidden; transition:opacity .15s; }
.mrag-cursor-label img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; }
.mrag-cursor-label span { position:relative; z-index:1; }
.mrag-cursor-template { display:none; }
.mrag-heading { margin:0; max-width:var(--mrag-heading-width,100%); overflow-wrap:anywhere; }
.mrag-heading a { color:inherit; text-decoration:none; }
.mrag-heading-accent { --mrag-accent:#bd954b; transition:color .3s; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.mrag-accent-gradient .mrag-heading-accent { background-color:var(--mrag-accent); background-image:linear-gradient(120deg,var(--mrag-accent),#e8dcbf,var(--mrag-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mrag-accent-gradient .mrag-heading-accent .mrag-word { background:inherit; -webkit-background-clip:text; background-clip:text; }
@media (forced-colors:active) { .mrag-accent-gradient .mrag-heading-accent { color:CanvasText; background:none; } }
.mrag-accent-solid .mrag-heading-accent { color:var(--mrag-accent); }
.mrag-accent-highlight .mrag-heading-accent { background-color:var(--mrag-accent); }
.mrag-accent-outline .mrag-heading-accent { -webkit-text-stroke:var(--mrag-text-stroke,1px) var(--mrag-accent); color:transparent; }
.mrag-accent-underline .mrag-heading-accent { text-decoration:underline; text-decoration-color:var(--mrag-accent); text-underline-offset:.18em; text-decoration-thickness:.07em; }
.mrag-word { display:inline-block; }
.mrag-heading-before:empty,.mrag-heading-after:empty { display:none; }
.mrag-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--mrag-icon-gap,12px); position:relative; isolation:isolate; box-sizing:border-box; padding:14px 24px; border:1px solid currentColor; border-radius:8px; text-decoration:none; font:inherit; color:inherit; background:transparent; cursor:pointer; overflow:hidden; transition:color .25s,translate .25s,background-color .25s; min-width:var(--mrag-button-width,0); }
.mrag-button:is(:focus-visible),.mrag-media:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.mrag-button-icon { display:inline-flex; align-items:center; justify-content:center; width:var(--mrag-icon-size,20px); height:var(--mrag-icon-size,20px); flex-shrink:0; transition:translate .3s; }
.mrag-button-icon svg { width:100%; height:100%; }
.mrag-button-icon i { font-size:var(--mrag-icon-size,20px); }
.mrag-icon-before .mrag-button-icon { order:-1; }
.mrag-button-fill::before { content:""; position:absolute; inset:0; background:var(--mrag-button-hover,#bd954b); translate:0 101%; z-index:-1; transition:translate .35s; }
.mrag-button-fill:is(:hover,:focus-visible)::before { translate:0 0; }
.mrag-button-lift:is(:hover,:focus-visible) { translate:0 -3px; }
.mrag-button-arrow:is(:hover,:focus-visible) .mrag-button-icon { translate:4px 0; }
[dir="rtl"] .mrag-button-arrow:is(:hover,:focus-visible) .mrag-button-icon { translate:-4px 0; }
.mrag-button-underline::after { content:""; position:absolute; bottom:5px; inset-inline:20px; height:1px; background:currentColor; scale:0 1; transform-origin:inline-start; transition:scale .3s; }
.mrag-button-underline:is(:hover,:focus-visible)::after { scale:1 1; }
.mrag-media,.mrag-shop-media { display:block; position:relative; overflow:hidden; isolation:isolate; aspect-ratio:4/5; width:100%; touch-action:pan-y; }
.mrag-media img,.mrag-shop-media img { display:block; width:100%; height:100%; object-fit:cover; margin:0!important; }
.mrag-media::after { content:""; position:absolute; inset:0; background:var(--mrag-media-overlay,transparent); pointer-events:none; }
.mrag-secondary-image { position:absolute; inset:0; opacity:0; transition:opacity .45s,translate .55s,scale .6s,clip-path .6s; }
.mrag-swap-slide .mrag-secondary-image { translate:100% 0; }
.mrag-swap-zoom .mrag-secondary-image { scale:1.08; }
.mrag-swap-wipe .mrag-secondary-image { clip-path:inset(0 100% 0 0); }
@media (hover:hover) { .mrag-media:hover .mrag-secondary-image.mrag-image-ready,.mrag-shop-media:hover .mrag-secondary-image.mrag-image-ready { opacity:1; translate:0 0; scale:1; clip-path:inset(0); } }
.mrag-media:focus-visible .mrag-secondary-image.mrag-image-ready,a:focus-visible .mrag-shop-media .mrag-secondary-image.mrag-image-ready { opacity:1; translate:0 0; scale:1; clip-path:inset(0); }
.mrag-touch-reveal .mrag-secondary-image.mrag-image-ready { opacity:1; translate:0 0; scale:1; clip-path:inset(0); }
.mrag-grayscale img { filter:grayscale(1); transition:filter .4s; }
.mrag-grayscale:is(:hover,:focus-visible) img { filter:grayscale(0); }
.mrag-media-placeholder { padding:30px; border:1px dashed #aaa; }
.mrag-ornament { display:inline-block; width:var(--mrag-svg-width,160px); max-width:100%; rotate:var(--mrag-svg-rotate,0deg); color:inherit; }
.mrag-ornament svg { display:block; width:100%; height:auto; }
.mrag-loop-viewport { width:100%; min-width:0; overflow:hidden; touch-action:pan-y; direction:ltr; }
.mrag-loop-track { display:flex; flex-wrap:nowrap; gap:var(--mrag-loop-gap,24px); width:max-content; align-items:center; }
.mrag-loop-item { flex:0 0 var(--mrag-loop-item,240px); width:var(--mrag-loop-item,240px); max-width:none; direction:var(--mrag-content-dir,ltr); }
.mrag-loop-item > * { max-width:100%; width:100%; }
.mrag-loop-fade { mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); }
.mrag-loop-pause { position:relative; align-self:flex-end; border:1px solid currentColor; border-radius:99px; padding:6px 14px; font:inherit; font-size:12px; color:inherit; background:transparent; cursor:pointer; margin-block-start:12px; }
.mrag-loop-pause:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.mrag-orbit-stage { width:100%; height:calc(var(--mrag-loop-radius,180px)*2 + var(--mrag-loop-item,100px)); position:relative; }
.mrag-orbit-item { width:var(--mrag-loop-item,100px); position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.mrag-horizontal-viewport { width:100%; overflow:hidden; min-width:0; }
.mrag-horizontal-track { display:flex; flex-wrap:nowrap; gap:var(--mrag-loop-gap,24px); width:max-content; direction:ltr; }
.mrag-horizontal-item { flex:0 0 min(80vw,900px); width:min(80vw,900px); direction:var(--mrag-content-dir,ltr); }
.mrag-horizontal-item > .elementor-element { width:100%; }
@media (prefers-reduced-motion:reduce) {
 .mrag-button,.mrag-button::before,.mrag-button::after,.mrag-button-icon,.mrag-secondary-image,.mrag-grayscale img { transition:none!important; }
 .mrag-cursor-label { display:none!important; }
}

/* ===== 0.3.0 — loop / horizontal fixes ===== */
.mrag-loop-wrap { flex:0 0 100%; width:100%; max-width:100%; min-width:0; display:flex; flex-direction:column; }
.mrag-orbit-stage { overflow:visible; max-width:100%; }
.mrag-hz-host { overflow:visible; }
.mrag-hz-sticky { position:sticky; top:var(--mrag-hz-top,0px); height:100vh; height:100svh; width:100%; display:flex; align-items:center; overflow:hidden; }
.mrag-hz-spacer { flex:0 0 auto; width:100%; pointer-events:none; }
.mrag-horizontal-item { flex:0 0 var(--mrag-hz-item,min(80vw,900px)); width:var(--mrag-hz-item,min(80vw,900px)); }

/* ===== Pre-hide (prevents a flash of content before a reveal); failsafe after 2.5 s ===== */
html.mrag-js [data-mrag-prehide] { opacity:0; animation:mrag-failsafe .01s linear 2.5s forwards; }
@keyframes mrag-failsafe { to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { html.mrag-js [data-mrag-prehide] { opacity:1; animation:none; } }

/* ===== 0.4.0 — pin ===== */
.mrag-hz-wrap { position:relative; width:100%; flex:0 0 auto; }
.mrag-pin-spacer { flex:0 0 auto; width:0; min-width:0; pointer-events:none; }
