/* Extends the existing Tortilla Boxes theme. Includes the $79 selection and checkout controls. */
[data-twenty-preview][hidden], .vtc-twenty [hidden] { display:none !important; }
#twenty-pack-boxes, #twenty-pack-product { scroll-margin-top:24px; }
.vtc-product-photo.vtc-twenty-card-photos { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); }
.vtc-product-photo.vtc-twenty-card-photos img { position:static; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.vtc-twenty-card-photos .vtc-twenty-photo-ten { grid-column:1; grid-row:1 / 3; }
.vtc-twenty-card-photos .vtc-twenty-photo-variety { grid-column:2; grid-row:1; }
.vtc-twenty-card-photos .vtc-twenty-photo-original { grid-column:2; grid-row:2; }
.vtc-twenty { border-top:7px double var(--vtc-green); padding:34px 0 42px; margin-top:28px; scroll-margin-top:24px; }
.vtc-twenty-preview { border-left:4px solid var(--vtc-gold); padding:10px 16px; margin-bottom:26px; font-size:.875rem; background:var(--vtc-paper); }
.vtc-twenty-heading { display:flex; align-items:start; justify-content:space-between; gap:28px; margin-bottom:28px; }
.vtc-twenty-heading h2 { margin:5px 0 14px; }
.vtc-twenty-heading h1 { font-size:clamp(2.5rem,4.5vw,3.75rem); margin:5px 0 18px; }
.vtc-twenty-product-page .vtc-twenty { margin-top:0; }
.vtc-twenty-product-page .vtc-product-breadcrumb { padding-bottom:24px; }
.vtc-twenty-heading .vtc-kicker { font-size:.875rem; }
.vtc-twenty-heading p:not(.vtc-kicker) { max-width:670px; }
.vtc-twenty-price { color:var(--vtc-green); text-align:right; flex-shrink:0; }
.vtc-twenty-price strong { display:block; font:400 clamp(3rem,6vw,4.5rem)/1 'Bree Serif',Georgia,serif; }
.vtc-twenty-price span { display:block; margin-top:10px; font-size:.875rem; }
.vtc-twenty-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.48fr); gap:32px; align-items:start; }
.vtc-twenty-options { min-width:0; }
.vtc-twenty-group { margin:0 0 28px; padding:0; border:0; min-width:0; }
.vtc-twenty-group legend { padding:0 0 12px; font:400 1.6rem/1.3 'Bree Serif',Georgia,serif; color:var(--vtc-green); }
.vtc-twenty-choice { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px 0; border-top:1px solid var(--vtc-rule); }
.vtc-twenty-choice[data-selected='true'] { border-left:3px solid var(--vtc-green); padding-left:12px; }
.vtc-twenty-choice img { width:90px; height:78px; object-fit:contain; background:#fff; }
.vtc-twenty-choice h4 { font:600 1rem/1.4 'DM Sans',Arial,sans-serif; color:var(--vtc-green); margin:0 0 4px; }
.vtc-twenty-choice p { font-size:.875rem; color:var(--vtc-muted); }
.vtc-twenty-choice a { text-decoration:underline; text-underline-offset:3px; }
.vtc-twenty-quantity { display:flex; align-items:center; border:1px solid var(--vtc-rule); background:var(--vtc-cream); }
.vtc-twenty-quantity button { width:44px; min-height:44px; padding:0; border:0; color:var(--vtc-green); background:transparent; font-size:1.4rem; }
.vtc-twenty-quantity button:hover:not(:disabled) { background:var(--vtc-green); color:var(--vtc-cream); }
.vtc-twenty-quantity button:disabled { color:#85917c; cursor:not-allowed; }
.vtc-twenty-quantity output { min-width:28px; text-align:center; font-size:1rem; font-weight:700; }
.vtc-twenty-summary { position:sticky; top:24px; border:1px solid var(--vtc-green); border-top:5px solid var(--vtc-green); padding:25px; background:var(--vtc-paper); }
.vtc-twenty-summary h3 { font-size:1.7rem; margin-bottom:18px; }
.vtc-twenty-count { display:flex; justify-content:space-between; gap:12px; align-items:baseline; color:var(--vtc-green); }
.vtc-twenty-count strong { font-size:1.25rem; }
.vtc-twenty-summary progress { display:block; width:100%; height:10px; border:0; border-radius:0; margin:10px 0; background:#d4dbc9; accent-color:var(--vtc-green); }
.vtc-twenty-summary progress::-webkit-progress-bar { background:#d4dbc9; }
.vtc-twenty-summary progress::-webkit-progress-value { background:var(--vtc-green); }
.vtc-twenty-status { font-size:.875rem; min-height:2.8em; }
.vtc-twenty-selected { list-style:none; margin:14px 0; padding:0; }
.vtc-twenty-selected li { display:flex; justify-content:space-between; align-items:start; gap:12px; padding:12px 0; border-top:1px solid var(--vtc-rule); font-size:.875rem; }
.vtc-twenty-selected li > span:last-child { white-space:nowrap; color:var(--vtc-muted); }
.vtc-twenty-total { display:flex; align-items:baseline; justify-content:space-between; gap:12px; border-top:3px double var(--vtc-green); padding-top:16px; font-weight:700; color:var(--vtc-green); }
.vtc-twenty-total strong { font:400 2rem/1.1 'Bree Serif',Georgia,serif; }
.vtc-twenty-offer { margin:14px 0 20px; font-size:.875rem; }
.vtc-twenty-review { width:100%; }
.vtc-twenty-review:disabled { opacity:.5; cursor:not-allowed; }
.vtc-twenty-clear { display:block; padding:8px 0; min-height:44px; margin:8px auto 0; border:0; color:var(--vtc-green); background:transparent; font-size:.875rem; text-decoration:underline; text-underline-offset:3px; }
.vtc-twenty-care { border-top:1px solid var(--vtc-rule); padding-top:22px; margin-top:4px; font-size:.9375rem; }
.vtc-twenty-care p + p { margin-top:9px; }
.vtc-twenty-dialog { color:var(--vtc-ink); background:var(--vtc-cream); border:2px solid var(--vtc-green); padding:28px; width:min(540px,calc(100% - 32px)); max-height:85vh; overflow:auto; }
.vtc-twenty-dialog::backdrop { background:rgb(14 32 22 / .65); }
.vtc-twenty-dialog h3 { margin-bottom:12px; }
.vtc-twenty-dialog .vtc-twenty-preview { margin:20px 0; }
.vtc-twenty-dialog:focus-visible { outline:3px solid var(--vtc-green); outline-offset:4px; }
@media (max-width:900px) {
  .vtc-twenty-layout { grid-template-columns:minmax(0,1fr); gap:10px; }
  .vtc-twenty-summary { position:static; grid-row:1; }
  .vtc-twenty-summary h3 { margin-bottom:12px; }
  .vtc-twenty-status { min-height:0; }
}
@media (max-width:540px) {
  .vtc-twenty-heading { flex-direction:column; gap:18px; }
  .vtc-twenty-price { display:flex; align-items:baseline; gap:18px; text-align:left; }
  .vtc-twenty-choice { grid-template-columns:72px minmax(0,1fr); gap:10px 14px; }
  .vtc-twenty-choice img { width:72px; height:70px; }
  .vtc-twenty-quantity { grid-column:2; justify-self:start; }
  .vtc-twenty-summary { padding:20px; }
}

.vtc-twenty-checkout-actions{display:flex;flex-wrap:wrap;gap:12px}.vtc-twenty-error{color:#9d2424;font-weight:600;margin:12px 0}.vtc-twenty-error:empty{display:none}.vtc-twenty-dialog button:disabled{opacity:.6;cursor:wait}
