/* Mobile-first, one-screen-at-a-time quiz. Loaded last to override theme button styles. */
.vr { max-width: 960px; margin-inline: auto; }
.vr [hidden] { display: none !important; }
.vr .vr-hero { display: block; min-height: 0; background: #fff; }
.vr .vr-hero__copy { padding: clamp(32px, 7vw, 70px) clamp(18px, 5vw, 60px); }
.vr .vr-hero h1 { max-width: 720px; }
.vr .vr-hero__art { display: none !important; }
.vr .vr-button,
.vr .vr-cart-addon button {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  padding: 14px 20px !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  background: var(--ink) !important;
  color: #fff !important;
  font: 700 14px/1.25 'Courier New',monospace !important;
  text-align: left;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.vr .vr-button:hover,
.vr .vr-cart-addon button:hover { background: #101622 !important; }
.vr .vr-progress {
  display: block;
  position: sticky;
  top: 0;
  z-index: 30;
  padding: 12px clamp(18px,5vw,60px);
  background: #fff;
  border-block: 1px solid var(--line);
}
.vr .vr-progress [data-progress-label] { display: block; padding: 0 0 7px; border: 0; text-align: left; color: var(--ink); font: 700 12px 'Courier New',monospace; }
.vr-progress__track { height: 4px; background: #e9ebea; }
.vr-progress__track i { display: block; height: 100%; width: 16.67%; background: var(--gold); transition: width .2s; }
.vr .vr-section { padding: clamp(30px,5vw,64px) clamp(18px,5vw,60px); scroll-margin-top: 75px; }
.vr .vr-section__intro { margin-bottom: 22px; }
.vr .vr-question { border-top: 0; padding: 0 0 20px; }
.vr .vr-question__title { margin-bottom: 18px; }
.vr .vr-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: clamp(9px,2vw,16px);
  max-width: 760px;
}
.vr .vr-choice {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100%;
  min-width: 0;
  padding: 0 !important;
  overflow: hidden;
  white-space: normal !important;
  text-align: left !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  color: var(--ink) !important;
}
.vr .vr-choice[aria-pressed=true] { border: 2px solid var(--ink) !important; box-shadow: 4px 4px 0 #afcdb7; }
.vr .vr-choice__image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  flex: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: none !important;
}
.vr .vr-choice__body { display: block !important; width: 100%; padding: 12px !important; white-space: normal !important; }
.vr .vr-choice__body strong,
.vr .vr-choice__body small { display: block !important; width: 100%; white-space: normal !important; overflow-wrap: anywhere; hyphens: auto; text-align: left !important; }
.vr .vr-choice__body strong { font: 700 clamp(12px,2vw,15px)/1.3 'Courier New',monospace !important; color: var(--ink) !important; }
.vr .vr-choice__body small { margin-top: 7px; color: #596071 !important; font-size: 12px !important; line-height: 1.35; }
.vr .vr-ages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 500px; margin-left: 0; }
.vr .vr-ages button { width: 100%; min-height: 52px; padding: 12px !important; white-space: normal !important; text-align: center; }
.vr .vr-back { display: inline-block; margin-top: 20px; padding: 9px 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; font: 700 13px 'Courier New',monospace !important; text-decoration: underline; text-underline-offset: 3px; }
.vr .vr-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 25px; }
.vr .vr-step-actions .vr-back { margin: 0; }
.vr .vr-body__choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vr .vr-body__choices button { min-width: 0; width: 100%; min-height: 145px; padding: 18px !important; overflow-wrap: anywhere; }
.vr .vr-body__choices strong { font-size: clamp(17px,2.7vw,24px); }
.vr .vr-checkout { background: #fafafa; }
.vr .vr-cart-form { display: flex; flex-direction: column; align-items: start; gap: 8px; margin: 0 0 28px; }
.vr .vr-cart-button { width: min(100%,400px); background: var(--gold) !important; border-color: var(--gold) !important; color: #172033 !important; }
.vr .vr-cart-button:hover { background: #e5b600 !important; }
.vr .vr-cart-form small { color: #596071; font-size: 12px; }
.vr .vr-face-cart-form {
  margin: 18px 0 0;
  padding: 20px;
  background: #fff7d3;
  border: 1px solid #f0d46a;
}
.vr .vr-face-cart-form .vr-cart-button { width: min(100%, 430px); }
.vr .vr-cart-form--mobile { display: none; }
.vr .vr-summary-grid { display: grid; gap: 25px; }
.vr .vr-summary-group h3 { margin: 0 0 12px; font: 700 21px 'Courier New',monospace; }
.vr .vr-summary-group .vr-products { padding: 0; }
.vr .vr-product { overflow: hidden; }
.vr .vr-product__image img { width: 100%; height: 100%; object-fit: contain; }
.vr .vr-foundations { background: #f6f8f6; }
.vr .vr-philosophy { padding: 55px 20px 70px; }
.vr-cart-upsells { max-width: 1050px; margin: 35px auto; padding: 28px 20px; border-top: 6px solid #f6c500; color: #20283b; font-family: Arial,Helvetica,sans-serif; }
.vr-cart-upsells h2 { font: 700 clamp(24px,4vw,36px) 'Courier New',monospace; margin: 8px 0; }
.vr-cart-upsells__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-top: 20px; }
.vr-cart-addon { display: flex; gap: 15px; padding: 15px; border: 1px solid #e3e5e7; }
.vr-cart-addon__image { width: 100px; min-width: 100px; height: 120px; }
.vr-cart-addon__image img { width: 100%; height: 100%; object-fit: contain; }
.vr-cart-addon h3 { font: 700 15px/1.3 'Courier New',monospace; margin: 0 0 8px; }
.vr-cart-addon button { min-height: 42px; padding: 10px 14px; border: 0; background: #20283b; color: #fff; font: 700 12px 'Courier New',monospace; cursor: pointer; }
@container viktoria-ritual (max-width: 700px) {
  .vr-products, .vr-tips__grid, .vr-foundations__grid { grid-template-columns: 1fr !important; }
}
@container viktoria-ritual (max-width: 560px) {
  .vr .vr-section { padding-inline: 16px; }
  .vr .vr-hero__copy { padding: 34px 18px 42px; }
  .vr .vr-hero h1 { font-size: clamp(34px,10vw,48px); }
  .vr .vr-question__title h3 { font-size: 22px; }
  .vr .vr-step-actions { display: grid; }
  .vr .vr-step-actions .vr-button { order: -1; width: 100%; }
  .vr .vr-face-cart-form { padding: 14px; }
  .vr .vr-face-cart-form .vr-cart-button { width: 100%; justify-content: center; }
  .vr .vr-choice__body { padding: 10px !important; }
  .vr .vr-choice__body strong { font-size: 12px !important; }
  .vr .vr-choice__body small { font-size: 11px !important; }
  .vr .vr-cart-form--mobile { display: block; position: fixed; z-index: 100; inset: auto 0 0; padding: 10px 14px max(10px,env(safe-area-inset-bottom)); margin: 0; background: #fff; box-shadow: 0 -5px 20px #1a253122; }
  .vr .vr-cart-form--mobile .vr-cart-button { width: 100%; justify-content: center; }
  .vr .vr-checkout { padding-bottom: 115px; }
}
@media(max-width:560px) { .vr-cart-upsells__grid { grid-template-columns: 1fr; } }
@media(max-width:360px) { .vr .vr-body__choices { grid-template-columns: 1fr; } }
