.oak-product-ui{box-sizing:border-box;font-family:inherit;color:#303030;font-size:14px;font-weight:400;text-align:left;clear:both}
.oak-product-ui *{box-sizing:border-box}
.oak-product-ui[hidden],.oak-product-ui [hidden]{display:none!important}
.oak-product-purchase-anchor,form.oak-cfg-main-form .oak-product-empty-native-totals{display:none}
.oak-product-extras{display:grid;gap:12px;margin:0 0 12px}
.oak-product-pack{margin:0;padding:0;border:1px solid #acbea3;border-radius:9px;background:#f4f8f2;overflow:hidden}
.oak-product-pack:hover{background:#edf4e9}
.oak-product-pack-row{display:grid!important;grid-template-columns:18px 38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 14px 10px!important;margin:0!important;color:#303030;font-size:14px!important;font-weight:400!important;cursor:pointer}
.oak-product-pack input[type=checkbox]{appearance:auto;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#303030}
.oak-product-pack-row svg{display:block;width:38px;height:38px;color:#6f8a63}
.oak-product-pack-copy{display:grid;gap:5px;min-width:0}
.oak-product-muted{font-size:12px!important;font-weight:400;line-height:1.45;color:#6b6b6b}
.oak-product-pack-price{font-size:13px;white-space:nowrap;padding:5px 9px;border-radius:6px;background:#e1eadb;color:#405e34}
.oak-product-pack .oak-product-pack-preview{display:flex;align-items:center;width:auto;max-width:calc(100% - 108px);min-height:28px;margin:0 14px 14px 94px;padding:0;border:0;border-radius:0;background:transparent;color:#303030;font-family:inherit;font-size:12px;line-height:1.4;text-transform:none;letter-spacing:normal;text-align:left;text-decoration:underline;text-underline-offset:3px;box-shadow:none;cursor:pointer}
.oak-product-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;color:#666;font-size:13px}
.oak-product-total output{font-family:inherit;font-size:20px;font-weight:400;line-height:1.4;color:#222}
/* Keep WPC's original fields and their visible-state calculations intact. */
.oak-product-native-pack,.oak-product-native-pack-only,.oak-product-native-stock{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.oak-product-benefits{width:100%;margin:26px 0;border:1px solid #dedede;border-radius:9px;background:#fff;overflow:hidden;container-type:inline-size}
.oak-product-review{display:flex;align-items:center;gap:16px;padding:15px;background:#f7f7f7;color:#252525!important;text-decoration:none!important}
.oak-product-rating{font-size:24px;line-height:1.3}
.oak-product-review-copy{display:grid;gap:3px;flex:1;font-size:12px}
.oak-product-stars{font-size:19px;letter-spacing:1px;line-height:1.3}
.oak-product-review-link{text-decoration:underline;text-underline-offset:3px}
.oak-product-benefit{border-top:1px solid #dedede}
.oak-product-benefit summary,.oak-product-workshop-wide{display:grid;grid-template-columns:17px minmax(0,1fr) auto 10px;gap:10px;align-items:center;min-height:53px;padding:13px 15px;list-style:none;color:#303030;font-size:13px;line-height:1.4;cursor:pointer}
.oak-product-benefit summary::-webkit-details-marker{display:none}
.oak-product-benefit svg{display:block;width:16px;height:16px}
.oak-product-benefit-meta{font-size:12px;line-height:1.45;color:#6b6b6b;text-align:right}
.oak-product-chevron{display:inline-block;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 1px 3px}
details[open]>summary>.oak-product-chevron{transform:rotate(225deg);margin-bottom:0}
.oak-product-benefit p{margin:0;padding:0 15px 15px 42px;color:#666;font-size:13px;line-height:1.5}
.oak-product-benefit a{color:#444;text-underline-offset:3px}
.oak-product-workshop-wide{display:none;grid-template-columns:17px minmax(0,1fr) auto;cursor:auto}
@container(min-width:560px){.oak-product-workshop-wide{display:grid}.oak-product-workshop-compact{display:none}}
.oak-product-return-copy{display:grid;gap:5px;grid-column:2/4;min-width:0}
.oak-product-return-copy>.oak-product-benefit-meta{text-align:left}
.oak-product-return-copy a{margin-left:2px}
dialog.oak-product-pack-dialog{width:calc(100% - 32px);max-width:520px;max-height:90vh;max-height:90dvh;margin:auto;padding:20px;border:1px solid #e3e3e3;border-radius:13px;background:#fff;color:#292929;font-family:inherit;font-size:14px;line-height:1.45;text-align:left;box-shadow:0 18px 60px #00000026;overflow-y:auto}
dialog.oak-product-pack-dialog::backdrop{background:#00000045}
.oak-product-pack-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.oak-product-pack-header h3{margin:0;padding:0;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:normal;text-transform:none}
.oak-product-pack-header .oak-product-pack-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;flex-shrink:0;margin:0;padding:0;border:0;border-radius:7px;background:#f5f5f5;color:#333;font:400 24px/1 Arial,sans-serif;cursor:pointer;box-shadow:none}
.oak-product-pack-scene{position:relative;display:flex;align-items:center;justify-content:center;height:auto;min-height:0;border-radius:7px;background:#f4f4f4;overflow:hidden}
.oak-product-pack-scene.is-placeholder{height:260px}
.oak-product-example{display:block;position:static;margin:0 0 8px;padding:0;color:#777;font-size:11px;line-height:1.4}
dialog.oak-product-pack-dialog img.oak-product-pack-photo{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:60vh!important;max-height:60dvh!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;border:0;margin:0;padding:0;box-shadow:none}
.oak-product-gift-box{position:relative;width:53%;height:58%;background:#fafafa;border:1px solid #d9d9d9;transform:translateY(15px) rotate(-8deg);box-shadow:0 15px 18px #00000022}
.oak-product-gift-box:before{content:"";position:absolute;top:-16px;left:-6%;width:112%;height:30px;border:1px solid #d2d2d2;background:#fff}
.oak-product-gift-ribbon{position:absolute;top:-17px;bottom:0;left:46%;width:12%;background:#606060}
.oak-product-gift-brand{position:absolute;left:9%;bottom:17%;color:#777;font-size:8px;letter-spacing:.5px}
.oak-product-pack-copyline{margin:15px 0 6px;color:#555;font-size:14px}
.oak-product-pack-dialog>.oak-product-muted{margin:0 0 17px}
.oak-product-pack-dialog .oak-product-pack-add{display:block;width:100%;min-height:48px;margin:0;padding:11px 14px;border:1px solid #202020;border-radius:6px;background:#202020;color:#fff;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:none}
.oak-product-pack-dialog .oak-product-pack-add:hover{background:#383838}
.oak-product-pack-dialog .oak-product-pack-add:disabled{background:#ebebeb;border-color:#dedede;color:#666;cursor:default}
form.oak-cfg-main-form button:is(.single_add_to_cart_button,.oak-cfg-validation-button).button.alt{background:#202020;color:#fff;border-color:#202020;border-radius:6px;box-shadow:none;font-weight:400;letter-spacing:normal;text-transform:none}
form.oak-cfg-main-form button:is(.single_add_to_cart_button,.oak-cfg-validation-button).button.alt:hover{background:#383838;border-color:#383838;color:#fff}
@media(max-width:390px){.oak-product-pack-row{padding:14px 10px 9px!important;gap:9px;font-size:13px!important}.oak-product-pack .oak-product-pack-preview{margin-left:84px}.oak-product-benefit summary{padding:13px 10px;gap:7px;font-size:12px}.oak-product-benefit-meta{font-size:11px}dialog.oak-product-pack-dialog{padding:16px}.oak-product-pack-scene.is-placeholder{height:220px}}

/* One spacing rhythm. Empty native containers must not reserve a card's gap. */
form.oak-product-form .oak-configurator{margin:0 0 12px}
form.oak-product-form .wapf.oak-personalization:not(.is-empty){margin:0 0 12px}
form.oak-product-form .single_variation_wrap{margin:0;padding:0}
form.oak-product-form .single_variation{margin:0 0 12px}
form.oak-product-form .oak-product-empty-variation,form.oak-product-form .oak-product-empty-config,form.oak-product-form .oak-product-simple-card{display:none!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important}
.oak-product-extras .oak-postcard{margin:0;width:100%;max-width:none;background:#fff}
form.oak-product-form .woocommerce-variation-availability{margin:0;padding:0}
form.oak-product-form .woocommerce-variation-price .price{color:#333!important;font-size:20px;font-weight:400;line-height:1.4;margin:0 0 8px}
.stock.oak-product-stock{box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;padding:6px 10px;margin:0 0 12px;border:1px solid #e5e5e5;border-radius:7px;background:#f7f7f7;color:#626262!important;font-family:inherit;font-size:13px!important;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
form.oak-product-form .single_variation .oak-product-stock{margin-bottom:0}
.stock.oak-product-stock::before,.oak-product-stock-tag::before{content:"";display:block;flex:0 0 16px;width:16px;height:18px;margin-top:1px;background:center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4v10l-8 4-8-4V7zM4 7l8 4 8-4M12 11v10M8 5l8 4'/%3E%3C/svg%3E")}

/* Approved attached availability tab; the native stock stays in Woo's container. */
.oak-configurator.oak-product-has-stock,form.oak-product-form .oak-personalization.oak-product-has-stock{position:relative!important;overflow:visible!important;margin-bottom:calc(var(--oak-stock-tag-height,29px) + 24px)!important}
.oak-product-stock-tag{position:absolute;left:auto;right:14px;top:calc(100% + 8px);display:inline-flex;align-items:flex-start;gap:7px;width:max-content;max-width:calc(100% - 28px);padding:5px 9px;border:0;border-radius:6px;background:#f4f4f4;color:#666;font-size:12px;font-weight:400;line-height:18px;overflow-wrap:anywhere;white-space:normal}
.oak-product-stock-tag::before{height:16px;flex-basis:14px;background-size:14px 14px}
form.oak-product-form .single_variation.oak-product-stock-only-variation{margin:0!important;padding:0!important;min-height:0!important}
/* Matching seasonal accents stay limited to the two optional gift cards. */
.oak-product-extras .oak-postcard.oak-product-postcard{background:#fffaf2;border-color:#dfcda3;border-radius:9px}
.oak-product-postcard .oak-postcard-header{padding:0 14px}
.oak-product-postcard .oak-postcard-header:hover{background:#fff3df}
.oak-product-postcard .oak-postcard-header .oak-postcard-toggle{grid-template-columns:38px minmax(0,1fr) auto;gap:12px;min-height:106px;padding:16px 0}
.oak-product-postcard .oak-postcard-header .oak-postcard-icon{width:38px;height:40px;color:#b48c45}
.oak-product-postcard .oak-postcard-icon svg{width:38px;height:38px}
.oak-product-postcard-copy{display:grid;gap:5px;min-width:0}
.oak-product-postcard .oak-postcard-title{font-size:14px;font-weight:400;color:#303030}
.oak-product-postcard-helper{font-size:12px;font-weight:400;line-height:1.5;color:#756e62}
.oak-product-postcard .oak-postcard-header .oak-postcard-free{padding:5px 9px;border-radius:6px;background:#f2e5cc;color:#7c5a25;font-size:12px}
.oak-product-postcard .oak-postcard-caption{display:none}
.oak-product-postcard .oak-postcard-editor{border-color:#e8dbc1}
.oak-product-postcard .oak-postcard-header .oak-postcard-check{accent-color:#9a773b}
@media(max-width:420px){.oak-product-pack-row{grid-template-columns:18px 34px minmax(0,1fr);column-gap:10px}.oak-product-pack-row svg{width:34px;height:36px;grid-row:1/3;grid-column:2}.oak-product-pack-copy{grid-column:3}.oak-product-pack-price{grid-column:3;justify-self:start}.oak-product-pack input{grid-row:1/3}.oak-product-pack .oak-product-pack-preview{margin-left:82px;max-width:calc(100% - 94px)}.oak-product-postcard .oak-postcard-header{padding:0 10px;gap:10px}.oak-product-postcard .oak-postcard-header .oak-postcard-toggle{grid-template-columns:34px minmax(0,1fr);column-gap:10px;row-gap:7px}.oak-product-postcard .oak-postcard-icon{grid-row:1/3}.oak-product-postcard .oak-postcard-header .oak-postcard-free{grid-column:2;justify-self:start}.oak-product-postcard .oak-postcard-header .oak-postcard-icon,.oak-product-postcard .oak-postcard-icon svg{width:34px;height:36px}}
