/** Shopify CDN: Minification failed

Line 16:12 Expected identifier but found whitespace
Line 16:14 Unexpected "{"
Line 16:24 Expected ":"
Line 17:12 Expected identifier but found whitespace
Line 17:14 Unexpected "{"
Line 17:24 Expected ":"
Line 18:8 Expected identifier but found whitespace
Line 18:10 Unexpected "{"
Line 18:20 Expected ":"

**/
/** Veloura Minimal baseline **/
:root{
  --page-bg: {{ settings.color_bg | default: '#ffffff' }};
  --page-fg: {{ settings.color_text | default: '#111111' }};
  --acc: {{ settings.color_accent | default: '#ff4aa1' }};

  --container-w: 1100px;
  --radius: 16px;

  /* Ticket geometry */
  --vdx-ticket-height: 56px;
  --vdx-ticket-pad-x: 24px;
  --vdx-ticket-radius: 16px;
  --vdx-ticket-notch-r: 18px;

  /* Ticket colors */
  --vdx-ticket-bg: #111;
  --vdx-ticket-fg: #fff;

  /* Drawer tokens (edit these for global drawer theming) */
  --vdx-z-drawer: 60;
  --vdx-spec-width: 520px;
  --vdx-spec-duration: 240ms;
  --vdx-spec-ease: cubic-bezier(.2,.8,.2,1);

  /* Visual theme controls */
  --vdx-spec-surface: rgba(255,255,255,.98);
  --vdx-spec-overlay: rgba(16,18,22,.45);
  --vdx-spec-shadow: 0 18px 60px rgba(0,0,0,.18);
  --vdx-spec-blur: 10px;
  --vdx-spec-radius: 18px;
  --vdx-spec-pad: 14px;
  --vdx-spec-head-h: 54px;
  --vdx-spec-accent: var(--acc);

  /* Gallery look */
  --vdx-gal-radius: 14px;
  --vdx-gal-aspect: 4/3;

  /* Form look */
  --vdx-field-bg: #fff;
  --vdx-field-br: 12px;
  --vdx-field-bd: 1px solid rgba(0,0,0,.08);
  --vdx-field-h: 44px;

  /* ATC look (ticket style inside drawer) */
  --vdx-atc-h: 52px;
  --vdx-atc-r: 16px;
  --vdx-atc-notch: 18px;
  --vdx-atc-bg: var(--vdx-ticket-bg);
  --vdx-atc-fg: var(--vdx-ticket-fg);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: var(--page-bg);
  color: var(--page-fg);
  font: 16px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* A11Y utilities */
.v-skip {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px; height: 1px; overflow: hidden;
}
.v-skip:focus { left: 12px; top: 12px; width: auto; height: auto; padding: 8px 12px; background: var(--acc); color: #fff; border-radius: 8px; }

.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0; padding: 0; margin: -1px;
}

/* Layout */
.v-container { max-width: var(--container-w); margin: 0 auto; padding: 16px; }

.v-header { position: sticky; top: 0; background: var(--page-bg); }
.v-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v-logo { font-weight: 700; text-decoration: none; color: inherit; }
.v-nav a { text-decoration: none; color: inherit; margin-left: 16px; }
.v-nav a:hover, .v-nav a:focus { outline: none; text-decoration: underline; text-underline-offset: 3px; }

.v-footer { margin-top: 48px; padding: 24px 0; background: transparent; }
.v-footer-inner { display: flex; align-items: center; justify-content: space-between; }

.v-section { padding: 24px 0; }
.v-h1 { font-size: 28px; margin: 0 0 8px; }
.v-text { opacity: 0.8; }

.v-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
@media (max-width: 900px) { .v-grid { grid-template-columns: 1fr; } }

.v-media img { width: 100%; height: auto; border-radius: var(--radius); display: block; }

.v-product-title { font-size: 28px; margin: 0 0 8px; }
.v-price { font-weight: 700; margin: 8px 0 16px; }

.v-label { display: block; font-size: 14px; margin-bottom: 6px; }
.v-select, .v-input {
  width: 100%;
  border: var(--vdx-field-bd);
  background: var(--vdx-field-bg);
  color: inherit;
  border-radius: var(--vdx-field-br);
  height: var(--vdx-field-h);
  padding: 0 12px;
}
.v-select:focus, .v-input:focus { outline: 2px solid color-mix(in oklab, var(--acc) 50%, #000 0%); outline-offset: 2px; }

.v-qty { margin: 12px 0 16px; }
.v-desc { margin-top: 20px; opacity: 0.85; }

.v-link { color: var(--acc); text-decoration: none; }
.v-link:hover, .v-link:focus { text-decoration: underline; text-underline-offset: 3px; }

/* Buttons */
.v-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 16px; border-radius: 10px;
  background: #111; color: #fff; border: 0; cursor: pointer; font-weight: 600;
}
.v-btn:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
.v-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.v-btn.v-accent { background: var(--acc); color: #fff; }

/* Cart */
.v-cart-list { display: grid; gap: 12px; margin-top: 16px; }
.v-cart-row { display: grid; grid-template-columns: 100px 1fr auto; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; background: rgba(0,0,0,0.03); }
.v-cart-title { color: inherit; text-decoration: none; font-weight: 600; }
.v-cart-title:hover { text-decoration: underline; }
.v-cart-variant { font-size: 13px; opacity: 0.8; }
.v-cart-price { font-weight: 600; }
.v-cart-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.v-cart-actions { display: flex; gap: 8px; }

/* TICKET BUTTON - no borders, side notches using background cutouts */
.vdx-ticket-btn {
  --h: var(--vdx-ticket-height);
  --pad: var(--vdx-ticket-pad-x);
  --r: var(--vdx-ticket-radius);
  --notch: var(--vdx-ticket-notch-r);

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 220px;
  height: var(--h);
  padding: 0 var(--pad);

  border: 0;
  border-radius: var(--r);
  background: var(--vdx-ticket-bg);
  color: var(--vdx-ticket-fg);
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  overflow: visible; /* allow notch circles to overlap */
}
.vdx-ticket-btn::before,
.vdx-ticket-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(var(--notch) * 2);
  height: calc(var(--notch) * 2);
  transform: translateY(-50%);
  background: var(--page-bg); /* punches the notch using the page bg */
  border-radius: 50%;
  pointer-events: none;
}
.vdx-ticket-btn::before { left: calc(-1 * var(--notch)); }
.vdx-ticket-btn::after  { right: calc(-1 * var(--notch)); }
.vdx-ticket-label { position: relative; z-index: 1; }
.vdx-ticket-btn:focus-visible { outline: 3px solid color-mix(in oklab, var(--acc) 70%, #000 0%); outline-offset: 2px; }
.vdx-ticket-btn:active { transform: translateY(0.5px); }
.vdx-ticket-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ====================================================================== */
/* VDX SPEC DRAWER THEME PACK (all drawer look-and-feel in one place)     */
/* ====================================================================== */

.vdx-spec {
  position: fixed;
  inset: 0;
  z-index: var(--vdx-z-drawer);
  pointer-events: none;
}
.vdx-spec.is-open { pointer-events: auto; }

.vdx-spec__overlay {
  position: absolute;
  inset: 0;
  background: var(--vdx-spec-overlay);
  opacity: 0;
  transition: opacity var(--vdx-spec-duration) var(--vdx-spec-ease);
}
.vdx-spec.is-open .vdx-spec__overlay { opacity: 1; }

.vdx-spec__panel {
  position: absolute;
  top: 0; bottom: 0;
  width: min(var(--vdx-spec-width), calc(100% - 32px));
  max-width: 100vw;
  background: var(--vdx-spec-surface);
  backdrop-filter: saturate(120%) blur(var(--vdx-spec-blur));
  box-shadow: var(--vdx-spec-shadow);
  transform: translate3d(100%,0,0);
  transition: transform var(--vdx-spec-duration) var(--vdx-spec-ease);
  display: flex; flex-direction: column;
  border-radius: 0; /* keep flush to the edge */
}
.vdx-spec[data-side="left"]  .vdx-spec__panel { left: 0;  transform: translate3d(-100%,0,0); }
.vdx-spec[data-side="right"] .vdx-spec__panel { right: 0; transform: translate3d(100%,0,0); }
.vdx-spec.is-open[data-side="left"]  .vdx-spec__panel,
.vdx-spec.is-open[data-side="right"] .vdx-spec__panel { transform: translate3d(0,0,0); }

@media (prefers-reduced-motion: reduce){
  .vdx-spec__overlay, .vdx-spec__panel { transition: none; }
}

/* Header, body, footer layout */
.vdx-spec__head{
  display:flex; align-items:center; justify-content:space-between;
  height: var(--vdx-spec-head-h);
  padding: 0 max(10px, var(--vdx-spec-pad));
  position: sticky; top: 0; z-index: 2;
  background: color-mix(in oklab, var(--vdx-spec-surface) 92%, white 8%);
  backdrop-filter: saturate(120%) blur(8px);
}
.vdx-spec__title{ font-weight: 700; letter-spacing: .2px; }
.vdx-spec__close{
  width: 36px; height: 36px; border-radius: 999px;
  display:grid; place-items:center;
  border: 0; background: rgba(0,0,0,.06); cursor:pointer;
}
.vdx-spec__close:focus-visible{ outline: 2px solid var(--vdx-spec-accent); outline-offset: 2px; }
.vdx-spec__close:hover{ background: rgba(0,0,0,.1); }

.vdx-spec__body{
  padding: var(--vdx-spec-pad);
  padding-bottom: calc(var(--vdx-spec-pad) + 6px);
  overflow:auto; flex:1;
  display:grid; gap: max(14px, var(--vdx-spec-pad));
}
@media (min-width: 980px){
  .vdx-spec__body{ grid-template-columns: 1.1fr .9fr; align-items: start; }
}
.vdx-spec__foot{
  padding: 10px max(10px, var(--vdx-spec-pad));
  border-top: 1px solid rgba(0,0,0,.06);
  background: color-mix(in oklab, var(--vdx-spec-surface) 90%, white 10%);
}

/* Gallery inside drawer */
.vdx-spec .vdx-gallery__viewport{
  overflow: hidden;
  border-radius: var(--vdx-gal-radius);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(0,0,0,.03), transparent 40%),
    radial-gradient(120% 120% at 100% 100%, rgba(0,0,0,.04), transparent 40%);
  aspect-ratio: var(--vdx-gal-aspect);
}
.vdx-spec .vdx-gallery__track{ will-change: transform; }
.vdx-spec .vdx-gallery__slide{ min-width:100%; margin:0; }
.vdx-spec .vdx-gallery__thumbs{
  display:flex; gap:10px; margin-top:10px; overflow:auto;
}
.vdx-spec .vdx-gallery__thumb{
  border:0; padding:0; background:transparent; flex:0 0 auto;
  width:72px; height:72px; border-radius: 12px; cursor:pointer; opacity:.9;
}
.vdx-spec .vdx-gallery__thumb img{ width:100%; height:100%; object-fit:cover; border-radius: 12px; display:block; }
.vdx-spec .vdx-gallery__thumb[aria-current="true"]{
  outline:2px solid color-mix(in oklab, var(--vdx-spec-accent) 55%, #000 0%); outline-offset: 2px; opacity:1;
}
.vdx-spec .vdx-gallery__nav{
  display:flex; gap:8px; justify-content:flex-end; margin-top:8px;
}
.vdx-spec [data-vdx-prev], .vdx-spec [data-vdx-next]{
  height:34px; padding:0 12px; border-radius: 10px; border:0;
  background: rgba(0,0,0,.07); cursor:pointer;
}
.vdx-spec [data-vdx-prev]:hover, .vdx-spec [data-vdx-next]:hover{ background: rgba(0,0,0,.12); }

/* Variant form inside drawer */
.vdx-spec .vdx-variant__row{ margin: 8px 0; }
.vdx-spec .vdx-variant__label{ font-size: 13px; opacity:.85; margin-bottom: 4px; display:block; }
.vdx-spec .vdx-variant__select{
  width:100%; height: var(--vdx-field-h);
  border-radius: var(--vdx-field-br);
  border: var(--vdx-field-bd);
  background: var(--vdx-field-bg);
  padding: 0 12px;
}
.vdx-spec .vdx-variant__meta{ display:flex; align-items:center; gap:12px; margin: 10px 0; }
.vdx-spec [data-vdx-price]{ font-weight: 700; }
.vdx-spec [data-vdx-availability]{ font-size: 13px; opacity: .8; }

/* ATC ticket style inside drawer (scoped) */
.vdx-spec .vdx-variant__actions{ display:grid; gap:10px; }
.vdx-spec .vdx-variant__atc{
  position: relative;
  width: 100%;
  height: var(--vdx-atc-h);
  border-radius: var(--vdx-atc-r);
  border: 0;
  background: var(--vdx-atc-bg);
  color: var(--vdx-atc-fg);
  font-weight: 700;
  letter-spacing:.2px;
  cursor: pointer;
  user-select: none;
}
.vdx-spec .vdx-variant__atc::before,
.vdx-spec .vdx-variant__atc::after{
  content:"";
  position:absolute; top:50%; transform:translateY(-50%);
  width: calc(var(--vdx-atc-notch) * 2);
  height: calc(var(--vdx-atc-notch) * 2);
  border-radius: 50%;
  background: var(--vdx-spec-surface); /* punches the notch using drawer surface */
  pointer-events: none;
}
.vdx-spec .vdx-variant__atc::before{ left: calc(-1 * var(--vdx-atc-notch)); }
.vdx-spec .vdx-variant__atc::after{ right: calc(-1 * var(--vdx-atc-notch)); }
.vdx-spec .vdx-variant__atc:focus-visible{ outline: 3px solid color-mix(in oklab, var(--vdx-spec-accent) 70%, #000 0%); outline-offset: 2px; }
.vdx-spec .vdx-variant__atc[data-loading="true"]{ opacity:.6; cursor: progress; }

/* Trust row */
.vdx-spec .vdx-spec__trust{ font-size:.9rem; opacity:.85; display:flex; align-items:center; gap:.5rem; }

/* Side positioning helpers (leave logic to section JS) */
.vdx-spec[data-side="left"]  .vdx-spec__panel { left: 0; }
.vdx-spec[data-side="right"] .vdx-spec__panel { right: 0; }
