/* Wedding Kalakar | Vega Product Add-ons Premium UI v1.0.0
 * Scoped to the existing Vega add-on container; no cart/price JS changes.
 */
.vpa-wrap {
  --vpa-ink:#271f24;
  --vpa-quiet:#776c72;
  --vpa-line:#eadfe3;
  --vpa-paper:#ffffff;
  --vpa-cream:#fffaf8;
  --vpa-soft:#fdf3f6;
  --vpa-wine:#822e50;
  --vpa-wine-dark:#622039;
  --vpa-green:#226748;
  --vpa-ring:rgba(130,46,80,.16);
  box-sizing:border-box;
  width:100%;max-width:100%;min-width:0;
  margin:22px 0 18px;padding:24px;
  border:1px solid #eadfe3;border-radius:22px;
  background:linear-gradient(160deg,#fff 0%,#fffcfa 72%,#fff8fa 100%);
  color:var(--vpa-ink);
  box-shadow:0 12px 36px rgba(54,25,39,.045);
  font-size:14px;line-height:1.55;
  overflow:visible;
}
.vpa-wrap *, .vpa-wrap *::before, .vpa-wrap *::after { box-sizing:border-box; }
.vpa-wrap [hidden] { display:none!important; }
.vpa-wrap .vpa-title-row { margin:0 0 18px;padding-bottom:17px;border-bottom:1px solid var(--vpa-line); }
.vpa-wrap .vpa-title-row h3 {
  display:flex;align-items:center;gap:11px;
  margin:0!important;padding:0!important;font-size:20px!important;
  line-height:1.3!important;font-weight:750!important;letter-spacing:-.025em;
  color:var(--vpa-ink)!important;
}
.vpa-wrap .vpa-title-row h3::before {
  content:"";width:9px;height:28px;flex:0 0 9px;border-radius:999px;
  background:linear-gradient(180deg,#b35c7c,var(--vpa-wine));
}
.vpa-wrap .vpa-fields {display:grid;gap:14px;min-width:0;}
.vpa-wrap .vpa-field {
  display:grid;gap:12px;min-width:0;margin:0;
  padding:17px;border:1px solid #eee6e8;border-radius:16px;
  background:var(--vpa-paper);
  box-shadow:0 3px 11px rgba(63,30,46,.025);
}
.vpa-wrap .vpa-field-label {display:grid;gap:3px;min-width:0;}
.vpa-wrap .vpa-field-label > span {
  display:block;font-size:14px;line-height:1.45;font-weight:750;
  color:var(--vpa-ink);letter-spacing:-.008em;overflow-wrap:anywhere;
}
.vpa-wrap .vpa-field-label b { color:var(--vpa-wine);font-weight:800; }
.vpa-wrap .vpa-field-help {font-size:12px;line-height:1.6;color:var(--vpa-quiet);margin:2px 0 0;overflow-wrap:anywhere;}
.vpa-wrap .vpa-field-help p {margin:0 0 5px;}
.vpa-wrap .vpa-type-heading {padding:12px 1px 3px;border:0;background:transparent;box-shadow:none;}
.vpa-wrap .vpa-type-heading .vpa-field-label > span {font-size:17px;font-weight:780;}
.vpa-wrap :is(.vpa-input,.vpa-select,.vpa-gift-details textarea) {
  display:block;width:100%;max-width:100%;min-width:0;min-height:48px;
  padding:11px 14px!important;border:1px solid #e4d9dd!important;
  border-radius:11px!important;background:#fff!important;color:var(--vpa-ink)!important;
  font:inherit!important;line-height:1.4!important;
  box-shadow:0 1px 2px rgba(0,0,0,.018)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.vpa-wrap .vpa-input::placeholder {color:#998d92;opacity:1;}
.vpa-wrap textarea {resize:vertical;}
.vpa-wrap :is(.vpa-input,.vpa-select,.vpa-gift-details textarea):focus {
  outline:0!important;border-color:var(--vpa-wine)!important;box-shadow:0 0 0 4px var(--vpa-ring)!important;
}
.vpa-wrap :is(a,button,input,select,textarea):focus-visible {
  outline:2px solid var(--vpa-wine)!important;outline-offset:3px;
}
.vpa-wrap small {font-size:12px;line-height:1.45;color:var(--vpa-quiet);}
.vpa-wrap .vpa-choice-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.vpa-wrap .vpa-choice {
  display:flex;align-items:center;gap:11px;min-width:0;min-height:61px;
  margin:0;padding:11px 12px;border:1.5px solid #e8e0e3;
  border-radius:12px;background:linear-gradient(180deg,#fff,#fffcfb);
  color:var(--vpa-ink);cursor:pointer;
  box-shadow:0 2px 6px rgba(49,25,39,.02);
  transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;
}
.vpa-wrap .vpa-choice:hover {border-color:#bc96a6;box-shadow:0 5px 16px rgba(82,27,52,.07);transform:translateY(-1px);}
.vpa-wrap .vpa-choice:has(input:checked) {
  border-color:var(--vpa-wine);background:#fff4f7;box-shadow:0 0 0 2px rgba(130,46,80,.075);
}
.vpa-wrap .vpa-choice:focus-within {border-color:var(--vpa-wine);box-shadow:0 0 0 3px var(--vpa-ring);}
.vpa-wrap .vpa-choice > span {display:grid;gap:2px;min-width:0;font-weight:650;line-height:1.45;overflow-wrap:anywhere;}
.vpa-wrap .vpa-choice small {color:var(--vpa-green);font-weight:700;font-size:12px;}
.vpa-wrap .vpa-choice :is(input[type="checkbox"],input[type="radio"]),
.vpa-wrap .vpa-product-check input[type="checkbox"] {
  appearance:auto!important;accent-color:var(--vpa-wine);
  flex:0 0 18px!important;width:18px!important;height:18px!important;
  margin:0!important;opacity:1!important;cursor:pointer;
}
.vpa-wrap .vpa-choice-image {width:46px!important;height:46px!important;object-fit:cover!important;border-radius:9px!important;border:1px solid #f0e8eb;flex:0 0 46px;}
.vpa-wrap .vpa-number-row {display:flex;align-items:center;gap:13px;flex-wrap:wrap;}
.vpa-wrap .vpa-number-row .vpa-input {width:112px;text-align:center;font-weight:700!important;}
.vpa-wrap .vpa-number-row [data-vpa-price-label] {color:var(--vpa-green);font-weight:700;}
.vpa-wrap .vpa-toggle-row {
  display:flex;align-items:center;gap:13px;min-height:58px;margin:0;padding:12px 14px;
  border:1px solid var(--vpa-line);border-radius:12px;
  background:#fffaf9;cursor:pointer;
}
.vpa-wrap .vpa-toggle-row:has(input:checked) {border-color:#c99aab;background:#fff4f7;}
.vpa-wrap .vpa-toggle-row > span:last-child {display:grid;gap:3px;font-weight:700;min-width:0;}
.vpa-wrap .vpa-toggle-row small {color:var(--vpa-green);font-weight:650;}
.vpa-wrap .vpa-toggle-row > input,.vpa-wrap .vpa-gift-toggle > input {
  position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;
}
.vpa-wrap .vpa-toggle {position:relative;display:inline-block;flex:0 0 46px;width:46px;height:26px;border-radius:100px;background:#cbbfc3;transition:background .18s;}
.vpa-wrap .vpa-toggle::after {content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.16);transition:transform .18s;}
.vpa-wrap .vpa-toggle-row input:checked + .vpa-toggle,
.vpa-wrap .vpa-gift-toggle input:checked ~ .vpa-toggle {background:var(--vpa-wine);}
.vpa-wrap .vpa-toggle-row input:checked + .vpa-toggle::after,
.vpa-wrap .vpa-gift-toggle input:checked ~ .vpa-toggle::after {transform:translateX(20px);}
.vpa-wrap .vpa-toggle-row input:focus-visible + .vpa-toggle,
.vpa-wrap .vpa-gift-toggle input:focus-visible ~ .vpa-toggle {outline:2px solid var(--vpa-wine);outline-offset:4px;}
.vpa-wrap .vpa-dropzone {
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:144px;padding:24px 18px;text-align:center;
  border:1.5px dashed #bb9ba9;border-radius:14px;
  background:repeating-linear-gradient(-45deg,#fff9fa,#fff9fa 10px,#fff6f8 10px,#fff6f8 20px);
  transition:background .18s,border-color .18s;
}
.vpa-wrap .vpa-dropzone:hover,.vpa-wrap .vpa-dropzone.is-over,
.vpa-wrap .vpa-dropzone:focus-within {border-color:var(--vpa-wine);background:#fff0f5;}
.vpa-wrap .vpa-file-input {position:absolute!important;inset:0!important;z-index:3;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;}
.vpa-wrap .vpa-dropzone-copy {display:grid;gap:5px;pointer-events:none;}
.vpa-wrap .vpa-dropzone-copy strong {font-size:14px;font-weight:750;color:var(--vpa-wine-dark);}
.vpa-wrap .vpa-file-preview {position:relative;z-index:2;display:flex;align-items:center;gap:12px;max-width:100%;padding:12px;background:#fff;border:1px solid var(--vpa-line);border-radius:10px;pointer-events:none;overflow-wrap:anywhere;}
.vpa-wrap .vpa-file-preview img {width:54px;height:54px;object-fit:cover;border-radius:9px;}
.vpa-wrap .vpa-file-clear {justify-self:start;min-height:40px;padding:6px 0!important;color:var(--vpa-wine)!important;text-decoration:underline;font:inherit!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.vpa-wrap .vpa-gift-card {overflow:hidden;border:1px solid var(--vpa-line);border-radius:13px;background:#fff;}
.vpa-wrap .vpa-gift-card:has([data-gift-toggle]:checked) {border-color:#c99aab;background:#fffafc;}
.vpa-wrap .vpa-gift-toggle {position:relative;display:flex;align-items:center;gap:13px;min-height:70px;padding:14px;margin:0;cursor:pointer;}
.vpa-wrap .vpa-gift-toggle img {width:56px;height:56px;object-fit:cover;border-radius:10px;}
.vpa-wrap .vpa-gift-toggle > span:not(.vpa-toggle) {display:grid;gap:3px;flex:1;min-width:0;}
.vpa-wrap .vpa-gift-toggle strong {font-size:14px;color:var(--vpa-ink);}
.vpa-wrap .vpa-gift-toggle small {color:var(--vpa-green);font-weight:700;}
.vpa-wrap .vpa-gift-details {padding:0 14px 14px;border-top:1px solid #f1e5e9;}
.vpa-wrap .vpa-gift-details label {display:grid;gap:8px;padding-top:12px;font-weight:650;}
.vpa-wrap .vpa-gift-details small {text-align:end;}
.vpa-wrap .vpa-slider-nav {display:flex;justify-content:flex-end;gap:8px;}
.vpa-wrap :is(.vpa-slider-nav button,.vpa-qty button) {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;min-height:40px;margin:0;padding:5px!important;
  border:1px solid #e6dce0!important;border-radius:10px!important;
  color:var(--vpa-wine)!important;background:#fff!important;
  font:inherit!important;font-size:19px!important;font-weight:650!important;
  box-shadow:none!important;cursor:pointer;
}
.vpa-wrap :is(.vpa-slider-nav button,.vpa-qty button):hover {background:#fff2f6!important;border-color:#c99aac!important;}
.vpa-wrap .vpa-product-grid {
  display:flex;gap:12px;max-width:100%;min-width:0;
  overflow-x:auto;padding:3px 2px 14px;
  scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;
}
.vpa-wrap .vpa-product-option {
  display:grid;grid-template-columns:57px minmax(0,1fr) auto;
  align-items:center;gap:10px;flex:0 0 min(290px,88%);min-width:0;
  margin:0;padding:13px;border:1.5px solid var(--vpa-line);
  border-radius:14px;background:#fff;scroll-snap-align:start;
  box-shadow:0 3px 10px rgba(52,27,43,.03);
}
.vpa-wrap .vpa-product-option:has([data-option-toggle]:checked) {border-color:var(--vpa-wine);background:#fff9fb;}
.vpa-wrap .vpa-product-option:only-child {flex:1 1 100%;}
.vpa-wrap .vpa-product-option > img {width:57px!important;height:57px!important;object-fit:contain;border-radius:9px;background:#fffaf8;}
.vpa-wrap .vpa-product-copy {display:grid;gap:3px;min-width:0;}
.vpa-wrap .vpa-product-copy strong {font-size:13px;font-weight:750;overflow-wrap:anywhere;}
.vpa-wrap .vpa-product-copy [data-vpa-price-label] {color:var(--vpa-green);font-weight:750;}
.vpa-wrap .vpa-product-check {display:flex;align-items:center;gap:6px;min-height:44px;font-size:12px;font-weight:700;cursor:pointer;}
.vpa-wrap .vpa-product-option.is-disabled {opacity:.55;}
.vpa-wrap .vpa-qty {grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;border-top:1px solid #f1e6eb;}
.vpa-wrap .vpa-qty input {width:57px!important;min-height:40px!important;padding:5px!important;margin:0!important;text-align:center;border:1px solid var(--vpa-line)!important;border-radius:10px!important;color:var(--vpa-ink)!important;background:#fff!important;font:inherit!important;font-weight:750!important;}
.vpa-wrap .vpa-total {
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;
  align-items:center;margin:17px 0 0;padding:19px 20px;
  border:1px solid #ead8df;border-radius:15px;
  background:linear-gradient(125deg,#fdf0f5,#fff9fa 65%,#fffefc);
  box-shadow:0 6px 20px rgba(99,40,66,.055);
}
.vpa-wrap .vpa-total > span {font-size:13px;font-weight:700;color:var(--vpa-ink);}
.vpa-wrap .vpa-total strong {font-size:25px;font-weight:800;letter-spacing:-.025em;color:var(--vpa-wine-dark);white-space:nowrap;}
.vpa-wrap .vpa-total small {grid-column:1/-1;justify-self:end;text-align:end;line-height:1.35;}
.vpa-wrap .vpa-total [data-vpa-extra] {color:var(--vpa-green);font-weight:700;}
.vpa-wrap .select2-container {width:100%!important;max-width:100%;}
.vpa-wrap .select2-container .select2-selection {
  min-height:48px!important;border:1px solid #e4d9dd!important;border-radius:11px!important;
  background:#fff!important;box-shadow:none!important;
}
.vpa-wrap .select2-container .select2-selection__rendered {line-height:45px!important;padding-inline:13px 26px!important;color:var(--vpa-ink)!important;}
.vpa-wrap .select2-container .select2-selection--multiple {padding:5px 8px!important;}
.vpa-wrap .select2-container .select2-selection--multiple .select2-selection__rendered {line-height:1.5!important;padding:2px!important;}
.vpa-wrap .select2-container .select2-selection__arrow {height:46px!important;}
.vpa-wrap .select2-container--focus .select2-selection {border-color:var(--vpa-wine)!important;box-shadow:0 0 0 3px var(--vpa-ring)!important;}
.vpa-select-dropdown {border-color:#e4d9dd!important;border-radius:9px!important;box-shadow:0 8px 28px rgba(52,27,43,.11);overflow:hidden;}
.vpa-select-dropdown .select2-results__option--highlighted[aria-selected] {background:#822e50!important;color:#fff!important;}
.vpa-select-dropdown .vpa-option-image {width:36px!important;height:36px!important;margin-right:9px;vertical-align:middle;object-fit:cover;border-radius:7px;}
@media (max-width:700px) {
  .vpa-wrap {padding:16px;margin:14px 0;border-radius:17px;}
  .vpa-wrap .vpa-title-row h3 {font-size:18px!important;}
  .vpa-wrap .vpa-field {padding:14px;border-radius:13px;}
  .vpa-wrap .vpa-choice-grid {grid-template-columns:minmax(0,1fr);}
  .vpa-wrap .vpa-total {padding:14px;}
  .vpa-wrap .vpa-total strong {font-size:22px;}
}
@media (min-width:520px) and (max-width:700px) {
  .vpa-wrap .vpa-choice-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:380px) {
  .vpa-wrap {padding:11px;}
  .vpa-wrap .vpa-field {padding:11px;}
  .vpa-wrap .vpa-total strong {font-size:19px;}
  .vpa-wrap .vpa-product-option {grid-template-columns:46px minmax(0,1fr) auto;padding:9px;gap:7px;}
  .vpa-wrap .vpa-product-option > img {width:46px!important;height:46px!important;}
}
@media (prefers-reduced-motion:reduce) {
  .vpa-wrap *, .vpa-wrap *::before, .vpa-wrap *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
