/* Merchandise additions only; shared theme and box layout come from source. */
.otc-page { --vtc-green:#164f35; --vtc-cream:#fbf6e7; --vtc-gold:#deb938; --vtc-ink:#24392b; --vtc-rule:#a8b5a0; }
.otc-page .vtc-products-intro { display:block; padding-block:32px 24px; }
.otc-page .otc-hero-lede { max-width:36em; margin-top:12px; font-size:19px; }
.otc-page .otc-hero-note { margin-top:10px; max-width:48em; font-size:14px; }
.otc-page .vtc-box-jump-links { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; gap:8px 24px; margin:0; padding:6px 0; background:var(--vtc-cream); border-block:1px solid var(--vtc-rule); }
.otc-page .vtc-box-jump-links a { padding-inline:12px; text-decoration:none; }
.otc-page .vtc-box-jump-links a[aria-current="location"] { background:var(--vtc-green); color:var(--vtc-cream); }
.otc-page .vtc-box-jump-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.otc-page .otc-feature { margin:22px 0 42px; }
.otc-page .otc-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.otc-page .otc-feature-slot { display:block; min-width:0; color:var(--vtc-green); text-decoration:none; }
.otc-page .otc-feature-slot img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#fff; }
.otc-page .otc-feature-label { display:flex; justify-content:space-between; gap:6px; margin-top:10px; font-weight:600; font-size:16px; }
.otc-page .otc-feature-price { display:block; margin-top:2px; font-size:14px; }
.otc-page .otc-feature-slot:hover .otc-feature-label { text-decoration:underline; text-underline-offset:4px; }
.otc-page .otc-feature-slot:focus-visible { outline:3px solid var(--vtc-green); outline-offset:5px; }
.otc-page .otc-feature-slot--empty { background:var(--vtc-cream); }
.otc-page .otc-section { padding-bottom:48px; }
.otc-page :is(.otc-section,.otc-product-group,.otc-card) { scroll-margin-top:calc(var(--otc-nav-height,58px) + 24px); }
.otc-page .otc-group-heading { margin:8px 0 24px; max-width:48em; }
.otc-page .otc-group-heading h3 { margin:0 0 10px; font:400 28px/1.2 'Bree Serif',Georgia,serif; color:var(--vtc-green); }
.otc-page .otc-group-heading p { margin:0; }
.otc-page .otc-product-group + .otc-product-group { margin-top:24px; }
.otc-page .otc-tote-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--vtc-rule); }
.otc-page .otc-tote-grid .otc-product-photo { margin-bottom:0; }
.otc-page .otc-tote-grid h4 { margin:16px 0 12px; font:400 26px/1.25 'Bree Serif',Georgia,serif; color:var(--vtc-green); }
/* Soft rules group product details; strong rules mark the end of a product. */
.otc-page .otc-card .vtc-product-meta { border-top:1px solid var(--vtc-rule); }
.otc-page .otc-card:nth-child(n) { border-bottom:2px solid var(--vtc-green); }
.otc-color-choice { margin:16px 0 20px; }
.otc-color-choice[hidden] { display:none; }
.otc-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.otc-options:not(:has([data-size])) { grid-template-columns:1fr; }
.otc-options:has(.otc-color-choice[hidden]) { grid-template-columns:1fr; }
.otc-page .otc-product-kind { margin:20px 0 -14px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.otc-page .otc-card--feature + .otc-card--feature { padding-top:36px; }
.otc-size-guide { margin:0 0 20px; font-size:13px; }
.otc-size-guide[hidden] { display:none; }
.otc-size-guide summary { cursor:pointer; color:var(--vtc-green); font-weight:600; padding:8px 0; }
.otc-size-guide table { width:100%; border-collapse:collapse; text-align:left; }
.otc-size-guide th, .otc-size-guide td { padding:6px 8px; border-bottom:1px solid var(--vtc-rule); }
.otc-size-guide caption { text-align:left; margin-bottom:8px; }
.otc-color-choice label { display:block; margin-bottom:6px; font:600 13px/1.5 'DM Sans',Arial,sans-serif; color:var(--vtc-green); }
.otc-color-choice select { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--vtc-rule); border-radius:0; background:#fff; color:var(--vtc-ink); font:400 15px/1.5 'DM Sans',Arial,sans-serif; }
.otc-color-choice select:focus-visible { outline:3px solid var(--vtc-green); outline-offset:3px; }
.otc-color-choice select[hidden] { display:none; }
.otc-options .otc-color-choice:has([data-color-swatches]) { grid-column:1/-1; margin-bottom:0; }
.otc-options:has([data-color-swatches]) { row-gap:0; margin-bottom:20px; }
.otc-options:has([data-color-swatches]) > .otc-color-choice:last-child { margin-bottom:0; }
.otc-color-swatches { display:flex; flex-wrap:wrap; gap:8px; }
.otc-color-swatches button { position:relative; flex:0 0 48px; width:48px; height:48px; padding:2px; overflow:hidden; border:1px solid var(--vtc-rule); background:#fff; cursor:pointer; }
.otc-color-swatches img { display:block; width:100%; height:100%; object-fit:contain; }
.otc-color-swatches button[aria-pressed="true"] { border:2px solid var(--vtc-green); outline:1px solid var(--vtc-green); outline-offset:2px; }
.otc-color-swatches button:focus-visible { outline:3px solid var(--vtc-green); outline-offset:3px; }
.otc-color-swatches button:hover:not(:disabled) { border-color:var(--vtc-green); }
.otc-color-swatches button:disabled { opacity:.4; cursor:not-allowed; }
.otc-color-swatches button:disabled::after { content:''; position:absolute; left:0; top:50%; width:100%; height:1px; background:var(--vtc-ink); transform:rotate(-45deg); }
.otc-page .otc-product-photo { border:0; padding:0; overflow:hidden; }
.otc-page .otc-view-tools { display:flex; flex-direction:column; align-items:stretch; gap:8px; padding:12px 0 16px; }
.otc-view-switch { display:grid; grid-template-columns:repeat(var(--view-count,5),minmax(0,1fr)); width:100%; max-width:480px; gap:5px; }
.otc-view-switch button { display:flex; flex-direction:column; align-items:stretch; gap:5px; min-height:44px; min-width:0; padding:3px 3px 6px; background:transparent; border:1px solid var(--vtc-rule); color:var(--vtc-green); font:600 11px/1.3 'DM Sans',Arial,sans-serif; cursor:pointer; }
.otc-view-switch button img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#fff; }
.otc-view-switch button span { margin:auto 0; overflow-wrap:anywhere; }
.otc-view-switch button[aria-pressed=true] { background:var(--vtc-green); color:var(--vtc-cream); }
.otc-view-switch button:focus-visible { outline:3px solid var(--vtc-green); outline-offset:3px; }
.otc-view-switch button[hidden] { display:none; }
.otc-view-switch[data-view-count="2"] { max-width:170px; }
.otc-page .otc-color-caption { font-size:12px; color:var(--vtc-muted); }
.otc-page .otc-section-footnote { margin:0; padding-top:18px; border-top:1px solid var(--vtc-rule); font-size:13px; color:var(--vtc-muted); }
.otc-lightbox { --vtc-green:#164f35; --vtc-cream:#fbf6e7; --vtc-ink:#24392b; --vtc-rule:#a8b5a0; font:16px/1.65 'DM Sans',Arial,sans-serif; }
.otc-lightbox * { box-sizing:border-box; }
.otc-lightbox :is(button,a):focus-visible { outline:3px solid var(--vtc-green); outline-offset:4px; }
.otc-lightbox { width:min(950px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--vtc-green); background:var(--vtc-cream); color:var(--vtc-ink); }
.otc-lightbox::backdrop { background:rgb(14 32 23 / .72); }
.otc-lightbox-header { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:16px 24px; border-bottom:3px double var(--vtc-green); background:var(--vtc-cream); }
.otc-lightbox h2 { margin:0; font:400 29px/1.2 'Bree Serif',Georgia,serif; color:var(--vtc-green); }
.otc-close { width:44px; height:44px; flex:none; padding:0; background:transparent; border:0; color:var(--vtc-green); font:400 32px/1 Arial,sans-serif; }
.otc-lightbox-body { display:grid; grid-template-columns:1.35fr 1fr; gap:30px; align-items:start; padding:25px; }
.otc-lightbox-photo { width:100%; height:auto; aspect-ratio:1; background:#fff; object-fit:contain; }
.otc-lightbox .otc-color-choice { margin:12px 0; }
.otc-lightbox .otc-purchase { margin-bottom:24px; }
.otc-lightbox-gallery { min-width:0; }
.otc-lightbox-gallery .otc-view-switch { margin-top:12px; }
.otc-lightbox-gallery [data-dialog-caption] { font-size:12px; margin:10px 0 0; }
.otc-lightbox-details p { font-size:14px; }
.otc-lightbox-price { font:400 32px/1.2 'Bree Serif',Georgia,serif !important; color:var(--vtc-green); }
.otc-lightbox-delivery { font-size:12px !important; border-top:1px solid var(--vtc-rule); padding-top:16px; }
.otc-order-status { font-size:13px; color:var(--vtc-ink); margin:10px 0 0; }
.otc-order-status:empty { display:none; }
.otc-purchase[hidden] { display:none; }
.otc-purchase label { display:block; font-size:13px; margin-bottom:6px; }
.otc-purchase-controls { display:flex; gap:10px; }
.otc-purchase input { width:72px; min-height:44px; padding:8px; border:1px solid var(--vtc-rule); background:#fff; color:var(--vtc-ink); font:inherit; }
.otc-lightbox .vtc-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 20px; border:1px solid var(--vtc-green); background:var(--vtc-green); color:var(--vtc-cream); font:600 14px/1.4 'DM Sans',Arial,sans-serif; cursor:pointer; }
.otc-page .vtc-product-actions { flex-wrap:wrap; gap:10px; }
.otc-page .vtc-product-actions:has(.otc-add) :is([data-enlarge],[data-product-page]) { background:transparent; color:var(--vtc-green); }
.otc-add:disabled { opacity:.65; cursor:not-allowed; }
.otc-page .otc-add, .otc-lightbox .otc-add { min-height:44px; }
.otc-view-switch[hidden] { display:none; }
.otc-page .otc-feature-product-grid { grid-template-columns:1fr; }
.otc-page .otc-card--feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:center; margin-bottom:0; }
.otc-page .otc-card--feature:nth-child(n) { margin-bottom:0; }
.otc-page .otc-card--feature:nth-child(n)::after { display:none; }
.otc-page .otc-card--feature .otc-product-photo { margin-bottom:0; }
.otc-page .otc-card--feature h3 { margin:22px 0 14px; font:400 32px/1.2 'Bree Serif',Georgia,serif; color:var(--vtc-green); }
.otc-page .otc-card--feature .otc-card-description { margin:0 0 20px; }
.otc-page .otc-card--feature .vtc-product-actions { flex-direction:row; align-items:center; }
@media (max-width:740px) {
 .otc-page .otc-card--feature { grid-template-columns:1fr; gap:8px; }
 .otc-page .otc-card--feature .otc-card-media { width:100%; max-width:480px; justify-self:center; }
 .otc-page .otc-card--feature .otc-product-photo { max-width:none; }
}

@media (max-width:620px) {
 .otc-view-switch[data-view-count="6"] button { padding-inline:2px; font-size:10px; }
 .otc-page .vtc-products-intro { padding-block:24px 20px; }
 .otc-page .otc-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
 .otc-page .otc-feature-label { font-size:14px; }
 .otc-view-switch button { min-height:44px; }
 .otc-page .otc-tote-grid { grid-template-columns:1fr; }
 .otc-lightbox-body { grid-template-columns:1fr; padding:18px; gap:15px; }
 .otc-lightbox-header { padding:12px 18px; }
 .otc-lightbox h2 { font-size:25px; }
}
