.ultra-canvas,.ultra-canvas-preview{
  --ub-primary: var(--ud-primary, #0f172a);
  --ub-accent: var(--ud-accent, #d4af37);
  --ub-font: var(--ud-font, system-ui, sans-serif);
  --ub-width: var(--ud-width, 1200px);
  font-family: var(--ub-font);
  color: var(--ub-primary);
  line-height: 1.55;
  box-sizing: border-box;
}
.ultra-canvas .uc-block.uc-contents{ display: contents; }
.ultra-canvas *,.ultra-canvas-preview *{ box-sizing: border-box; }
.ultra-canvas img,.ultra-canvas-preview img{ max-width: 100%; height: auto; }
.ub-wrap,.ultra-container{
  width: 100%;
  max-width: var(--ub-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 4vw, 40px);
  padding-right: clamp(16px, 4vw, 40px);
}
.ub-wrap-wide{ max-width: min(1400px, 96vw); }
.ub-section,section.section{
  display: block;
  width: 100%;
  padding: 40px 0;
}
.ub-flex,.ultra-row{
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
}
.ub-grid{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ultra-col,.ub-col{
  min-width: 0;
  flex: 1 1 0;
}
.ub-inner{ width: 100%; }
.ub-heading,.ultra-canvas h1,.ultra-canvas h2,.ultra-canvas h3{ margin: 0 0 .5em; line-height: 1.15; }
.ub-text,.ultra-text{ margin: 0 0 1em; }
.ub-btn,a.btn{
  display: inline-flex;
  align-items: center;
  gap: .4em;
  padding: .75rem 1.2rem;
  border-radius: 999px;
  background: var(--ub-accent);
  color: #111;
  text-decoration: none;
  font-weight: 700;
  border: 0;
  cursor: pointer;
}
.ub-icon-box{ text-align: center; padding: 16px; }
.ub-counter{ text-align: center; }
.ub-divider{ border: 0; border-top: 1px solid #e5e7eb; margin: 16px 0; }
.uc-block{ min-height: 4px; }
.uc-hidden{ display: none !important; }
.uc-drop{ outline: 2px dashed #5b4dff !important; background: rgba(91,77,255,.06); }
@media (min-width: 901px){
  .uc-hide-desk{ display: none !important; }
}
@media (max-width: 900px){
  .ub-grid{ grid-template-columns: 1fr; }
  .uc-hide-tab{ display: none !important; }
}
@media (max-width: 600px){
  .uc-hide-mob{ display: none !important; }
  .ub-flex,.ultra-row{ flex-direction: column; }
}
html.ub-bp-desktop .uc-hide-desk,
body.ub-bp-desktop .uc-hide-desk{ display: none !important; }
html.ub-bp-tablet .uc-hide-tab,
body.ub-bp-tablet .uc-hide-tab{ display: none !important; }
html.ub-bp-mobile .uc-hide-tab,
html.ub-bp-mobile .uc-hide-mob,
body.ub-bp-mobile .uc-hide-tab,
body.ub-bp-mobile .uc-hide-mob{ display: none !important; }
html.ub-bp-tablet .ub-grid,
body.ub-bp-tablet .ub-grid{ grid-template-columns: 1fr; }
html.ub-bp-mobile .ub-flex,
html.ub-bp-mobile .ultra-row,
body.ub-bp-mobile .ub-flex,
body.ub-bp-mobile .ultra-row{ flex-direction: column; }
.uc-block{ display: contents; }
body.ultra-canvas-preview .uc-block{ display: block; position: relative; }
body.ultra-canvas-preview [data-ub-in],
.ultra-canvas-preview [data-ub-in]{ opacity: 1 !important; transform: none !important; }
[data-ub-in]{ opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
[data-ub-in="fade"]{ transform: none; }
[data-ub-in="zoom"]{ transform: scale(.96); }
[data-ub-in].ub-in{ opacity: 1; transform: none; }
[data-ub-hover="lift"]{ transition: transform .2s ease; }
[data-ub-hover="lift"]:hover{ transform: translateY(-6px); }
[data-ub-hover="grow"]:hover{ transform: scale(1.03); }
body.ub-lock{ overflow: hidden; }
.ub-popup, .ub-offcanvas{ position: fixed; inset: 0; z-index: 100000; }
.ub-popup-backdrop{ position: absolute; inset: 0; background: rgba(15,23,42,.55); }
.ub-popup-panel{
  position: relative; z-index: 1; background: #fff; max-width: 560px; margin: 8vh auto;
  padding: 28px; border-radius: 16px; max-height: 84vh; overflow: auto;
}
.ub-popup-x{ position: absolute; top: 10px; right: 12px; border: 0; background: #eee; border-radius: 8px; width: 32px; height: 32px; cursor: pointer; }
.ub-offcanvas-panel{
  position: absolute; top: 0; bottom: 0; width: min(360px, 92vw); background: #fff; z-index: 1;
  padding: 24px; overflow: auto;
}
.ub-offcanvas-left .ub-offcanvas-panel{ left: 0; }
.ub-offcanvas-right .ub-offcanvas-panel{ right: 0; }
.ub-mega{ position: relative; display: inline-block; }
.ub-mega-panel{
  display: none; position: absolute; left: 0; top: 100%; min-width: 280px; background: #fff;
  box-shadow: 0 16px 40px rgba(15,23,42,.12); padding: 16px; z-index: 50; border-radius: 12px;
}
.ub-mega.is-open .ub-mega-panel{ display: block; }
.ub-price{ font-weight: 700; font-size: 1.2rem; }
.ub-acc-item{border:1px solid #e2e8f0;margin:0 0 8px;padding:8px 12px}
.ub-acc-item summary{cursor:pointer;font-weight:700}
.ub-tabs-nav{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.ub-tab{border:1px solid #e2e8f0;background:#fff;padding:8px 12px;cursor:pointer}
.ub-tab.is-on{background:#0f172a;color:#fff;border-color:#0f172a}
.ub-gallery{display:grid;gap:8px}
.ub-carousel{position:relative;overflow:hidden}
.ub-carousel-track{display:flex;transition:transform .3s}
.ub-slide{min-width:100%}
.ub-car-prev,.ub-car-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#0f172a;color:#fff;width:32px;height:32px;cursor:pointer}
.ub-car-prev{left:8px}.ub-car-next{right:8px}
.ub-quote{margin:0;padding:16px;border-left:4px solid var(--ub-accent,#d4af37);background:#f8fafc}
.ub-stars{letter-spacing:2px;color:#d4af37;font-size:20px}
.ub-progress .ub-bar{height:8px;background:#e2e8f0;margin-top:4px}
.ub-progress i{display:block;height:100%;background:var(--ub-accent,#d4af37)}
.ub-alert{padding:12px 14px;margin:8px 0;background:#eef2ff}
.ub-alert-success{background:#dcfce7}.ub-alert-warn{background:#fef3c7}.ub-alert-danger{background:#fee2e2}
.ub-social a{margin-right:10px}
.ub-icon-list{list-style:none;padding:0;margin:0}
.ub-icon-list li{display:flex;gap:8px;margin:6px 0}
.ub-ibox img{display:block;width:100%;height:auto;margin-bottom:8px}
.ub-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.ub-count{font-size:28px;font-weight:800}
.ub-crumbs{font-size:13px;color:#64748b}
.ub-flip{perspective:800px;min-height:140px}
.ub-flip-inner{transition:transform .5s;transform-style:preserve-3d;position:relative;min-height:140px}
.ub-flip:hover .ub-flip-inner{transform:rotateY(180deg)}
.ub-flip-front,.ub-flip-back{position:absolute;inset:0;backface-visibility:hidden;padding:16px;background:#f8fafc;border:1px solid #e2e8f0}
.ub-flip-back{transform:rotateY(180deg);background:#0f172a;color:#fff}
.ub-ptable{border:1px solid #e2e8f0;padding:16px}
.ub-ptable ul{list-style:none;padding:0}
.ub-btn{display:inline-block;background:#0f172a;color:#fff;padding:8px 14px;text-decoration:none}
