/* Progressive enhancement: original WooCommerce/WPC controls remain the source of truth. */
.oak-configurator{--oak-cfg-ready:1;--oak-cfg-accent:#3b3b3b;--oak-cfg-paper:#ffffff;--oak-cfg-soft:#f4f4f4;--oak-cfg-line:#e2e2e2;--oak-cfg-text:#2b2b2b;--oak-cfg-muted:#6d6d6d;box-sizing:border-box;width:100%;max-width:var(--oak-cfg-width,540px);margin:16px 0 20px;color:var(--oak-cfg-text);font-family:inherit;font-size:15px;font-weight:400;line-height:1.45;text-align:left;clear:both}
.oak-configurator *{box-sizing:border-box}
.oak-configurator[hidden],.oak-configurator [hidden],.oak-cfg-native-hidden{display:none!important}
.oak-configurator button,.oak-configurator select{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
.oak-configurator button{margin:0;min-width:0;line-height:1.35;font-weight:400;transition:background .15s,color .15s,border-color .15s}
.oak-configurator button:focus-visible,.oak-configurator summary:focus-visible{outline:2px solid var(--oak-cfg-accent);outline-offset:3px}
.oak-configurator input:focus-visible,.oak-configurator textarea:focus-visible,.oak-configurator select:focus-visible{outline:1px solid #8c8c8c;outline-offset:1px;border-color:#8c8c8c;box-shadow:none}
.oak-configurator .oak-cfg-content{display:flex;flex-direction:column;gap:16px}
.oak-configurator .oak-cfg-section-label{display:block;margin:0 0 8px;color:var(--oak-cfg-text);font-family:inherit;font-size:16px;font-weight:500;line-height:1.4}
.oak-configurator .oak-cfg-aromas,.oak-configurator .oak-cfg-options{min-width:0}
.oak-configurator .oak-cfg-aromas:empty,.oak-configurator .oak-cfg-options:empty{display:none}
.oak-configurator .oak-cfg-field{margin:0;border-bottom:1px solid var(--oak-cfg-line);min-width:0}
.oak-configurator .oak-cfg-row{display:flex;align-items:center;gap:9px;width:100%;min-height:68px;padding:12px 0;background:transparent;border:0;border-radius:0;text-align:left;color:var(--oak-cfg-text)}
.oak-configurator .oak-cfg-row:hover,.oak-configurator .oak-cfg-row:active{background:transparent;color:var(--oak-cfg-text)}
.oak-configurator .oak-cfg-row-copy{display:block;flex:1;min-width:0}
.oak-configurator .oak-cfg-row-label{display:block;margin-bottom:4px;color:var(--oak-cfg-muted);font-size:13px;line-height:1.4}
.oak-configurator .oak-cfg-row-value{display:block;color:var(--oak-cfg-text);font-size:18px;font-weight:400;line-height:1.3;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-row-value.is-empty{font-size:15px;color:var(--oak-cfg-muted)}
.oak-configurator .oak-cfg-row-notes{display:block;margin-top:4px;color:var(--oak-cfg-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-row-notes:empty{display:none}
.oak-configurator .oak-cfg-row-notes.is-error{color:#9d3f34}
.oak-configurator .oak-cfg-row-action{font-size:13px;color:var(--oak-cfg-accent);flex-shrink:0;max-width:34%;text-align:right;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-row:disabled{cursor:not-allowed;opacity:.55}
.oak-configurator .oak-cfg-field-panel{padding:0 0 13px;min-width:0}
.oak-configurator .oak-cfg-restore-same{display:block;margin:0 0 9px;padding:4px 0;background:none;border:0;color:var(--oak-cfg-accent);text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:400}
.oak-configurator .oak-cfg-chevron{display:inline-block;flex:0 0 7px;width:7px;height:7px;margin:0 3px 3px 0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);color:var(--oak-cfg-accent);transition:transform .15s}
.oak-configurator [aria-expanded=true]>.oak-cfg-chevron,.oak-configurator [aria-expanded=true] .oak-cfg-about-chip>.oak-cfg-chevron,.oak-configurator details[open]>.oak-cfg-composition-summary>.oak-cfg-chevron{transform:rotate(225deg);margin-bottom:0}
.oak-configurator .oak-cfg-feedback{padding:12px 13px;margin:0;border:1px solid #d99a84;border-left:4px solid #ab4b36;border-radius:6px;background:#f3f3f3;color:#843321;font-size:14px;line-height:1.5}
.oak-configurator .oak-cfg-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.oak-configurator .oak-postcard{width:100%;max-width:none}
.oak-configurator .oak-cfg-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.oak-configurator .oak-cfg-filter{background:var(--oak-cfg-soft);border:1px solid transparent;border-radius:6px;padding:8px 10px;min-height:36px;color:var(--oak-cfg-muted);font-size:13px;font-weight:400}
.oak-configurator .oak-cfg-filter:hover{background:#ececec;color:#494949}
.oak-configurator .oak-cfg-filter[aria-pressed=true],.oak-configurator .oak-cfg-filter[aria-pressed=true]:hover{background:var(--oak-cfg-accent);border-color:var(--oak-cfg-accent);color:#ffffff}
.oak-configurator .oak-cfg-list{display:grid;gap:11px;min-width:0}
.oak-configurator .oak-cfg-scent-card{margin:0;background:var(--oak-cfg-soft);border:1px solid transparent;border-radius:7px;overflow:hidden;min-width:0}
.oak-configurator .oak-cfg-scent-card.is-selected{border-color:var(--oak-cfg-accent)}
.oak-configurator .oak-cfg-scent-body{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch;position:relative;min-width:0;container-type:inline-size}
.oak-configurator .oak-cfg-scent-art{position:relative;min-height:158px;background:var(--oak-cfg-tint,#e0e0e0);overflow:hidden}
.oak-configurator .oak-cfg-scent-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 56%;margin:0;border:0;border-radius:0;box-shadow:none}
.oak-configurator .oak-cfg-scent-placeholder{height:100%;min-height:158px;display:grid;place-items:center;padding:10px;color:var(--oak-cfg-accent);font-size:13px;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-top{position:absolute;top:7px;left:50%;transform:translateX(-50%);background:#303030de;color:#ffffff;border-radius:4px;white-space:nowrap;padding:3px 6px;font-size:11px;font-weight:400;line-height:1.3}
.oak-configurator .oak-cfg-scent-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "brief" "notes" "choose";grid-template-rows:repeat(4,max-content);align-content:start;justify-items:start;gap:7px;padding:10px 11px;min-width:0}
.oak-configurator .oak-cfg-scent-name{grid-area:name;display:block;font-family:inherit;font-size:19px;font-weight:400;line-height:1.3;letter-spacing:normal;margin:0;color:var(--oak-cfg-text);min-width:0;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-family{font-size:12px;font-weight:400;line-height:1.45;color:var(--oak-cfg-muted);white-space:normal}
.oak-configurator .oak-cfg-brief{grid-area:brief;margin:0!important;padding:0;font-size:13px;font-weight:400;line-height:1.45;color:var(--oak-cfg-muted);overflow-wrap:anywhere;white-space:normal}
.oak-configurator .oak-cfg-notes{grid-area:notes;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:242px;max-width:100%;column-gap:10px;margin:0!important}
.oak-configurator .oak-cfg-note{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:11px;line-height:1.3;color:var(--oak-cfg-muted);min-width:0;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-note-art{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#eeeeee;flex-shrink:0}
.oak-configurator .oak-cfg-note-art img{display:block;width:36px;height:36px;max-width:none;object-fit:contain;margin:0;border:0;box-shadow:none}
.oak-configurator .oak-cfg-primary,.oak-configurator .oak-cfg-primary[aria-pressed=true]{display:inline-flex;align-items:center;justify-content:center;align-self:start;justify-self:start;width:96px;max-width:100%;min-height:30px;margin:0;background:var(--oak-cfg-accent);border:1px solid var(--oak-cfg-accent);color:#ffffff;border-radius:16px;padding:4px 8px;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oak-configurator .oak-cfg-primary:hover,.oak-configurator .oak-cfg-primary[aria-pressed=true]:hover{background:#4a4a4a;border-color:#4a4a4a;color:#ffffff}
.oak-configurator .oak-cfg-primary:disabled{opacity:.5;cursor:not-allowed}
/* The transparent 44px hit area leaves only a thin photo-width strip visible. */
.oak-configurator .oak-cfg-about,.oak-configurator .oak-cfg-about[aria-expanded=true]{position:absolute;left:0;bottom:0;display:flex;align-items:flex-end;justify-content:stretch;width:100%;min-height:44px;padding:0;background:transparent;border:0;border-radius:0;color:#ffffff}
.oak-configurator .oak-cfg-about:hover{background:transparent;color:#ffffff}
.oak-configurator .oak-cfg-about-chip{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:24px;padding:4px 3px;background:#20202080;backdrop-filter:blur(2px);font-size:12px;font-weight:400;line-height:1.35;white-space:nowrap;text-shadow:0 1px 2px #00000066}
.oak-configurator .oak-cfg-about .oak-cfg-chevron{flex-basis:5px;width:5px;height:5px;color:inherit;margin-right:0}
.oak-configurator .oak-cfg-description{white-space:pre-line;padding:11px 12px 12px;border-top:1px solid var(--oak-cfg-line);font-size:13px;font-weight:400;line-height:1.65;color:var(--oak-cfg-muted);overflow-wrap:anywhere}
.oak-configurator .oak-cfg-more{display:flex;width:100%;justify-content:center;align-items:center;margin:12px 0 0;min-height:42px;background:var(--oak-cfg-accent);color:#ffffff;border:1px solid var(--oak-cfg-accent);border-radius:6px;padding:9px;font-size:14px;font-weight:400}
.oak-configurator .oak-cfg-more:hover{background:#4a4a4a;border-color:#4a4a4a}
.oak-configurator .oak-cfg-count{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--oak-cfg-muted)}
.oak-configurator .oak-cfg-empty{color:var(--oak-cfg-muted);font-size:14px;margin:0;padding:12px 0}
.oak-configurator .oak-cfg-mini-list{display:grid;gap:5px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.oak-configurator .oak-cfg-mini{display:flex;align-items:center;gap:10px;width:100%;min-height:66px;padding:7px;background:var(--oak-cfg-paper);border:1px solid var(--oak-cfg-line);border-radius:6px;text-align:left;color:var(--oak-cfg-text)}
.oak-configurator .oak-cfg-mini:hover{background:var(--oak-cfg-soft);color:var(--oak-cfg-text)}
.oak-configurator .oak-cfg-mini[aria-pressed=true]{border-color:var(--oak-cfg-accent);background:#f2f2f2}
.oak-configurator .oak-cfg-mini:disabled{opacity:.5;cursor:not-allowed}
.oak-configurator .oak-cfg-mini-art{display:block;flex:0 0 44px;width:44px;height:52px;background:var(--oak-cfg-soft);overflow:hidden;border-radius:4px}
.oak-configurator .oak-cfg-mini-art img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border:0;margin:0}
.oak-configurator .oak-cfg-mini-copy{flex:1;min-width:0}
.oak-configurator .oak-cfg-mini-name{display:block;font-size:15px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-mini-notes{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--oak-cfg-muted);overflow-wrap:anywhere}
.oak-configurator .oak-cfg-mini-tick{width:15px;flex-shrink:0;color:var(--oak-cfg-accent);visibility:hidden}
.oak-configurator .oak-cfg-mini[aria-pressed=true]>.oak-cfg-mini-tick{visibility:visible}
.oak-configurator .oak-cfg-option-field+.oak-cfg-option-field{margin-top:14px}
.oak-configurator .oak-cfg-option-label{display:block;margin-bottom:8px;color:var(--oak-cfg-muted);font-size:13px;font-weight:400}
.oak-configurator .oak-cfg-choices{display:flex;flex-wrap:wrap;gap:7px}
.oak-configurator .oak-cfg-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;min-height:40px;background:var(--oak-cfg-paper);border:1px solid var(--oak-cfg-line);border-radius:6px;color:var(--oak-cfg-text);font-size:14px;font-weight:400;max-width:100%;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-option:hover{background:#efefef;border-color:#b2b2b2;color:var(--oak-cfg-text)}
.oak-configurator .oak-cfg-option[aria-pressed=true]{background:#efefef;color:var(--oak-cfg-accent);border-color:var(--oak-cfg-accent)}
.oak-configurator .oak-cfg-option:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.oak-configurator .oak-cfg-visual-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.oak-configurator .oak-cfg-visual-choices>.oak-cfg-option{flex-direction:column;min-height:83px;padding:8px 4px;font-size:13px;text-align:center}
.oak-configurator .oak-cfg-option-visual{display:block;flex-shrink:0}
.oak-configurator .oak-cfg-color-swatch{width:35px;height:35px;border-radius:50%;border:1px solid #c6c6c6;background:#f3f3f3}
.oak-configurator .oak-cfg-color-swatch.is-black{background:#2a2a2a}
.oak-configurator .oak-cfg-color-swatch.is-granite{background-image:radial-gradient(ellipse at 20% 25%,#99999988 0 1px,transparent 1.4px),radial-gradient(ellipse at 74% 40%,#888888aa 0 1px,transparent 1.4px),radial-gradient(ellipse at 48% 80%,#77777799 0 1px,transparent 1.5px);background-size:12px 16px,17px 18px,19px 22px}
.oak-configurator .oak-cfg-reed-swatch{height:35px;width:40px;display:flex;gap:4px;justify-content:center;align-items:center}
.oak-configurator .oak-cfg-reed-swatch i{display:block;width:3px;height:32px;border:1px solid #333333;background:#333333;transform:rotate(-8deg)}
.oak-configurator .oak-cfg-reed-swatch i:nth-child(2){transform:rotate(-4deg)}
.oak-configurator .oak-cfg-reed-swatch i:nth-child(3){transform:rotate(0)}
.oak-configurator .oak-cfg-reed-swatch i:nth-child(4){transform:rotate(4deg)}
.oak-configurator .oak-cfg-reed-swatch i:nth-child(5){transform:rotate(8deg)}
.oak-configurator .oak-cfg-reed-swatch.is-white i,.oak-configurator .oak-cfg-reed-swatch.is-mixed i:nth-child(even){background:#f5f5f5;border-color:#bebebe}
.oak-configurator .oak-cfg-proxy{display:block;width:100%;max-width:100%;min-height:42px;background:var(--oak-cfg-paper);color:var(--oak-cfg-text);border:1px solid var(--oak-cfg-line);border-radius:6px;padding:9px 11px;font-size:17px}
.oak-configurator .oak-cfg-composition-wrap{border-top:1px solid var(--oak-cfg-line);padding-top:3px}
.oak-configurator .oak-cfg-composition-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;list-style:none;cursor:pointer;font-size:15px;font-weight:400;color:var(--oak-cfg-text)}
.oak-configurator summary::-webkit-details-marker{display:none}
.oak-configurator .oak-cfg-composition{display:grid;gap:0}
.oak-configurator .oak-cfg-component{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:12px;row-gap:7px;padding:14px 0;border-top:1px solid var(--oak-cfg-line);align-items:start;min-width:0}
.oak-configurator .oak-cfg-component-title{font-size:13px;font-weight:400;line-height:1.5;color:var(--oak-cfg-text);overflow-wrap:anywhere;min-width:0}
.oak-configurator .oak-cfg-component-values{display:block;grid-column:2;font-size:12px;font-weight:400;line-height:1.5;color:var(--oak-cfg-muted);text-align:left;overflow-wrap:anywhere;min-width:0}
.oak-configurator .oak-cfg-component-choice{display:block;margin:0 0 4px}
/* Component names, actual stock and prices remain visible in the native WPC DOM. */
.oak-cfg-bundle-compact .woosb-product{padding-top:8px!important;padding-bottom:8px!important;min-height:0!important}
.oak-cfg-bundle-compact .woosb-thumb{width:42px!important;min-width:42px!important;max-width:42px!important;flex-basis:42px!important;margin-right:10px!important}
.oak-cfg-bundle-compact .woosb-thumb img{width:42px!important;max-width:42px!important;height:52px!important;object-fit:cover;border-radius:5px}
.oak-cfg-bundle-compact .woosb-name,.oak-cfg-bundle-compact .woosb-name a{font-size:13px!important;line-height:1.45!important;color:#3b3b3b!important;font-weight:400!important}
.oak-cfg-bundle-compact .woosb-availability,.oak-cfg-bundle-compact .woosb-availability .stock{font-size:12px!important;line-height:1.4!important;margin:3px 0!important}
/* Native add-ons keep their original form and validation. */
.oak-cfg-main-form .wapf-field-container{padding-top:9px;padding-bottom:9px}
.oak-cfg-main-form .wapf-field-label{margin-bottom:7px}
.oak-cfg-main-form .wapf-field-label label{font-family:inherit;font-size:14px;line-height:1.45;font-weight:400;color:#454545}
.oak-cfg-main-form .wapf-field-description{font-size:13px;line-height:1.5;color:#6e6e6e;margin-top:6px}
.oak-cfg-main-form input.wapf-input[type=text],.oak-cfg-main-form textarea.wapf-input,.oak-cfg-main-form select.wapf-input{font-family:inherit;font-size:17px;line-height:1.4;max-width:100%;border:1px solid #d4d4d4;border-radius:6px;background:#ffffff;color:#292929;padding:10px 11px;box-shadow:none}
.oak-cfg-main-form textarea.wapf-input{min-height:85px;resize:vertical}
@media(max-width:380px){.oak-configurator .oak-cfg-scent-content{padding:9px 8px;gap:7px}.oak-configurator .oak-cfg-scent-name{font-size:18px}.oak-configurator .oak-cfg-note{font-size:10px}.oak-configurator .oak-cfg-about-chip{font-size:11px}.oak-configurator .oak-cfg-row-action{font-size:12px}.oak-configurator .oak-cfg-component{gap:8px}}
@media(pointer:coarse){.oak-configurator button,.oak-configurator summary{min-height:44px}.oak-configurator .oak-cfg-primary,.oak-configurator .oak-cfg-primary[aria-pressed=true]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.oak-configurator button,.oak-configurator .oak-cfg-chevron{transition:none}}
.oak-configurator .oak-cfg-component-source{display:block;margin-top:4px;font-size:11px;font-weight:400;line-height:1.45;color:var(--oak-cfg-muted)}
.oak-configurator .oak-cfg-color-swatch.is-mixed{background:linear-gradient(90deg,#2a2a2a 50%,#f3f3f3 50%)}
/* One quiet enclosure groups choices, current composition and the shared card. */
.oak-configurator{background:#fafafa;border:1px solid #dcdcdc;border-radius:12px;padding:17px}
.oak-configurator .oak-cfg-content{gap:8px}
.oak-configurator .oak-cfg-panel-heading{padding:0 0 5px;margin:0;border:0;background:transparent}
.oak-configurator .oak-cfg-panel-heading h3{font-family:inherit;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:normal;text-transform:none;margin:0;color:#474747}
.oak-configurator .oak-cfg-aromas,.oak-configurator .oak-cfg-options{display:grid;gap:8px}
.oak-configurator .oak-cfg-aromas:empty,.oak-configurator .oak-cfg-options:empty{display:none}
.oak-configurator .oak-cfg-field{background:var(--oak-cfg-paper);border:1px solid #e4e4e4;border-radius:8px;padding:0 11px;overflow:hidden}
.oak-configurator .oak-cfg-row{min-height:73px;scroll-margin-top:96px}
.oak-configurator .oak-cfg-row-label{font-size:12px}
.oak-configurator .oak-cfg-row-value,.oak-configurator .oak-cfg-row-value.is-empty{font-size:15px;line-height:1.4}
.oak-configurator .oak-cfg-row-action{font-size:12px}
.oak-configurator .oak-cfg-options>.oak-cfg-option-field{background:var(--oak-cfg-paper);border:1px solid #e4e4e4;border-radius:8px;padding:11px;margin:0}
.oak-configurator .oak-cfg-field-panel{padding-bottom:11px}
.oak-configurator .oak-cfg-composition-wrap{border:0;padding:0;margin-top:8px}
.oak-configurator .oak-cfg-composition-summary{font-size:14px}
.oak-configurator .oak-cfg-component-title,.oak-configurator .oak-cfg-component-values{font-size:12px}
.oak-configurator .oak-postcard{margin-top:10px;padding-top:3px;border:0;border-top:1px solid #dcdcdc;border-radius:0;background:transparent}
.oak-configurator .oak-postcard-toggle{font-size:13px;font-weight:400;min-height:42px;padding:10px 0}
.oak-configurator .oak-postcard-free{font-size:12px;font-weight:400;background:#ebebeb;border-radius:3px;padding:2px 5px}
.oak-configurator .oak-postcard-icon{font-size:17px}
.oak-configurator .oak-postcard-editor{padding:12px 0 0;border:0;background:transparent}
.oak-configurator .oak-postcard-preview{padding:0 0 6px}
.oak-configurator .oak-postcard-status{padding:0 0 6px}
.oak-configurator .oak-cfg-collapse{display:block;width:100%;margin:5px 0 0;padding:9px 4px;min-height:38px;background:transparent;border:0;border-radius:5px;color:var(--oak-cfg-accent);font-size:13px;font-weight:400;text-align:center;text-decoration:underline;text-underline-offset:3px}
.oak-configurator .oak-cfg-collapse:hover{background:#f3f3f3;color:#4a4a4a}
/* Keep each native component's forms, quantities, stock and price in its own WPC item. */
.oak-cfg-bundle-compact .oak-cfg-component-summarized .woosb-title{flex:1;min-width:0;margin-left:0;padding-left:0}
@media(max-width:360px){.oak-configurator{padding:12px}.oak-configurator .oak-cfg-field{padding:0 9px}.oak-configurator .oak-cfg-row-value,.oak-configurator .oak-cfg-row-value.is-empty{font-size:14px}}
@media(pointer:coarse){.oak-configurator .oak-cfg-collapse{min-height:44px}}
/* Read-only mirrors keep WPC's original update targets in their native item. */
.oak-cfg-mirrored-source{display:none!important}
.oak-configurator .oak-cfg-component-availability,.oak-configurator .oak-cfg-component-price{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:var(--oak-cfg-muted)}
.oak-configurator .oak-cfg-component-availability.is-unavailable{color:#9d3f34}
.oak-cfg-bundle-compact .oak-cfg-component-summarized{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;min-height:0!important}
/* Compact choice cards retain their text and touch targets. */
.oak-configurator{padding:13px}
.oak-configurator .oak-cfg-content,.oak-configurator .oak-cfg-aromas,.oak-configurator .oak-cfg-options{gap:6px}
.oak-configurator .oak-cfg-row{min-height:55px;padding:8px 0}
.oak-configurator .oak-cfg-row-label{margin-bottom:2px}
.oak-configurator .oak-cfg-field:not(.oak-cfg-refill-field) .oak-cfg-row-notes:not(.is-error){display:none}
.oak-configurator .oak-cfg-field-panel{padding-bottom:8px}
.oak-configurator .oak-cfg-filters{gap:5px;margin-bottom:8px}
.oak-configurator .oak-cfg-filter{min-height:32px;padding:6px 8px;font-size:12px}
.oak-configurator .oak-cfg-list{gap:7px}
.oak-configurator .oak-cfg-scent-art,.oak-configurator .oak-cfg-scent-placeholder{min-height:144px}
.oak-configurator .oak-cfg-scent-name{font-size:18px}
.oak-configurator .oak-cfg-brief{line-height:1.4}
.oak-configurator .oak-cfg-note{font-size:12px;gap:2px}
.oak-configurator .oak-cfg-note-art{width:36px;height:36px}
.oak-configurator .oak-cfg-note-art img{width:34px;height:34px}
.oak-configurator .oak-cfg-more{min-height:38px;padding:7px;margin-top:8px;font-size:13px}
.oak-configurator .oak-cfg-mini{gap:8px;min-height:50px;padding:6px}
.oak-configurator .oak-cfg-mini-art{flex-basis:32px;width:32px;height:39px}
.oak-configurator .oak-cfg-mini-name{font-size:14px}
.oak-configurator .oak-cfg-mini-notes{margin-top:2px}
.oak-configurator .oak-cfg-field-error{margin:0 0 9px;padding:9px 10px;border-left:3px solid #ab4b36;border-radius:4px;background:#f3f3f3;color:#843321;font-size:14px;line-height:1.45}
.oak-configurator .oak-cfg-field-error[hidden]{display:none!important}
.oak-configurator .oak-cfg-needs-choice{border-color:#ab4b36;box-shadow:inset 0 0 0 1px #ab4b36}
.oak-configurator .oak-cfg-needs-choice.oak-cfg-option-field{box-shadow:inset 0 0 0 1px #b36a56}
/* Only the explanatory action is exchanged. WooCommerce's submit, state,
   name and listeners remain untouched and resume once choices are complete. */
.oak-cfg-submit-covered{display:none!important}
form.oak-cfg-main-form .oak-cfg-validation-button{display:inline-flex;align-items:center;justify-content:center;flex:1;box-sizing:border-box;height:48px;min-height:48px;max-width:100%;padding:10px 18px;background:#202020;color:#ffffff;border:1px solid #202020;border-radius:6px;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;text-align:center;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
form.oak-cfg-main-form .oak-cfg-validation-button[hidden]{display:none!important}
form.oak-cfg-main-form .oak-cfg-validation-button:focus-visible{outline:2px solid #858585;outline-offset:2px}
/* Purchase and explanatory buttons share one scoped brand palette, even
   when WooCommerce's .button.alt rules load later. Native blocked flags remain. */
form.oak-cfg-main-form button:is(.single_add_to_cart_button,.oak-cfg-validation-button).button.alt{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:48px;min-height:48px;max-width:100%;padding:10px 18px;background:#202020;background-color:#202020;border:1px solid #202020;border-radius:6px;color:#ffffff;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;text-align:center;text-transform:none;letter-spacing:normal;box-shadow:none}
form.oak-cfg-main-form button:is(.single_add_to_cart_button,.oak-cfg-validation-button).button.alt:is(:hover,:active){background:#383838;background-color:#383838;border-color:#383838;color:#ffffff}
form.oak-cfg-main-form button.single_add_to_cart_button.button.alt:is(:disabled,.disabled,.wc-variation-selection-needed,.wc-variation-is-unavailable,.woosb-disabled,.loading,[aria-disabled="true"]),form.oak-cfg-main-form button.single_add_to_cart_button.button.alt:is(:disabled,.disabled,.wc-variation-selection-needed,.wc-variation-is-unavailable,.woosb-disabled,.loading,[aria-disabled="true"]):is(:hover,:active){background:#e6e6e6;background-color:#e6e6e6;border-color:#d6d6d6;color:#686868}
@media(max-width:380px){.oak-configurator .oak-cfg-scent-name{font-size:17px}}
@media(max-width:360px){.oak-configurator{padding:11px}}
@media(pointer:coarse){.oak-configurator .oak-cfg-filter,.oak-configurator .oak-cfg-more,.oak-configurator .oak-cfg-mini,.oak-configurator .oak-cfg-primary,.oak-configurator .oak-cfg-primary[aria-pressed=true]{min-height:44px}}
/* Postcard text follows the same one-pixel readability increase without
   changing the order-level card used outside the product configurator. */
.oak-configurator .oak-postcard .oak-postcard-toggle{font-size:13px}
.oak-configurator .oak-postcard .oak-postcard-free{font-size:12px}
.oak-configurator .oak-postcard .oak-postcard-caption,.oak-configurator .oak-postcard label,.oak-configurator .oak-postcard .oak-postcard-remove,.oak-configurator .oak-postcard .oak-postcard-preview,.oak-configurator .oak-postcard .oak-postcard-edit,.oak-configurator .oak-postcard .oak-postcard-status{font-size:13px}
.oak-configurator .oak-postcard textarea{font-size:17px}
.oak-configurator .oak-postcard .oak-postcard-counter{font-size:12px}
.oak-configurator .oak-postcard .oak-postcard-save{font-size:14px}
/* A failed purchase explains every missing choice before directing the shopper. */
dialog.oak-cfg-required-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 48px);margin:auto;padding:24px;border:1px solid #dcdcdc;border-radius:12px;background:#ffffff;color:#2b2b2b;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;box-shadow:0 14px 60px #1d1d1d33;overflow:auto;text-align:left}
dialog.oak-cfg-required-dialog[hidden]{display:none!important}
dialog.oak-cfg-required-dialog::backdrop{background:#1e1e1e80}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__title{margin:0 0 9px;padding:0;color:#393939;font-family:inherit;font-size:22px;font-weight:500;line-height:1.3;text-transform:none;letter-spacing:normal}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__intro{margin:0 0 16px;padding:0;color:#5f5f5f;font-size:15px;line-height:1.5}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__list{margin:0;padding:12px 14px 12px 34px;border-left:3px solid #af6650;border-radius:5px;background:#f3f3f3;color:#63382d;font-size:16px;line-height:1.5}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__item{margin:0;padding:4px 0;overflow-wrap:anywhere}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__component{display:block;color:#6c6c6c;font-size:13px;line-height:1.4}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:20px}
dialog.oak-cfg-required-dialog button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:44px;margin:0;padding:10px 15px;border:1px solid #dcdcdc;border-radius:6px;background:#fafafa;color:#575757;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;text-align:center;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer;overflow-wrap:anywhere}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__go{background:var(--oak-cfg-accent,#3b3b3b);border-color:var(--oak-cfg-accent,#3b3b3b);color:#ffffff}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__close:hover{background:#e9e9e9;color:#4a4a4a}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__go:hover{background:#4a4a4a;border-color:#4a4a4a;color:#ffffff}
dialog.oak-cfg-required-dialog button:focus-visible{outline:2px solid #858585;outline-offset:3px}
@media(max-width:380px){dialog.oak-cfg-required-dialog{padding:19px}.oak-cfg-required-dialog .oak-cfg-required-dialog__actions{align-items:stretch;flex-direction:column-reverse}dialog.oak-cfg-required-dialog button{width:100%}}
/* Leave room for complete note names on common phone widths. */

/* The real choice button owns the card hit area; description stays independent. */
.oak-configurator .oak-cfg-primary,.oak-configurator .oak-cfg-primary[aria-pressed=true]{background:#ffffff;border-color:#d0d0d0;color:#353535;border-radius:6px}
.oak-configurator .oak-cfg-primary[aria-pressed=true]{border-color:#3b3b3b;color:#494949}
.oak-configurator .oak-cfg-primary:hover,.oak-configurator .oak-cfg-primary[aria-pressed=true]:hover{background:#eeeeee;border-color:#b6b6b6;color:#353535}
.oak-configurator .oak-cfg-primary::after{content:"";position:absolute;z-index:1;inset:0}
.oak-configurator .oak-cfg-primary:focus-visible::after{outline:2px solid #979797;outline-offset:-3px;border-radius:5px}
.oak-configurator .oak-cfg-about{z-index:3}
.oak-configurator .oak-cfg-badges{position:absolute;top:7px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:3px;pointer-events:none}
.oak-configurator .oak-cfg-badges .oak-cfg-top,.oak-configurator .oak-cfg-new{position:static;transform:none;background:#303030de;color:#ffffff;border-radius:3px;white-space:nowrap;padding:3px 5px;font-size:11px;font-weight:400;line-height:1.3}
.oak-configurator .oak-cfg-visual-choices:has(>:nth-child(2):last-child),.oak-configurator .oak-cfg-visual-choices:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.oak-cfg-selection-notice-hidden{display:none!important}
/* Keep only real failures below the block; missing choices use the dialog and field hints. */
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__go{background:#202020;border-color:#202020;color:#ffffff}
dialog.oak-cfg-required-dialog .oak-cfg-required-dialog__go:hover{background:#383838;border-color:#383838;color:#ffffff}
/* Approved neutral, fluid product-summary layout. Native forms own every value. */
form.oak-cfg-main-form{width:100%;max-width:100%;box-sizing:border-box}
.oak-configurator{--oak-cfg-paper:#fff;--oak-cfg-soft:#f5f5f5;--oak-cfg-line:#e4e4e4;--oak-cfg-text:#333;--oak-cfg-muted:#666;width:100%;max-width:none;background:#fafafa;border-color:#e2e2e2;border-radius:10px;padding:13px}
.oak-configurator.oak-cfg-wish-only{padding:0 13px;background:#fff}
.oak-configurator.oak-cfg-wish-only .oak-postcard{margin-top:0;padding-top:0;border-top:0}
.oak-configurator .oak-cfg-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 7px;gap:10px;min-height:84px;padding:12px 0}
.oak-configurator .oak-cfg-row .oak-cfg-row-action{max-width:none;white-space:nowrap}
.oak-configurator .oak-cfg-main-scent-row .oak-cfg-row-value,.oak-configurator .oak-cfg-main-scent-row .oak-cfg-row-value.is-empty{font-size:16px;color:#292929}
.oak-configurator .oak-cfg-field .oak-cfg-main-scent-row .oak-cfg-row-notes:not(.is-error){display:block;color:#777;font-size:12px}
.oak-configurator .oak-cfg-fragrance-intro{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:#f3f3f3;color:#5d5d5d;overflow:hidden}
.oak-configurator .oak-cfg-fragrance-intro svg{display:block;width:23px;height:23px;flex-shrink:0}
.oak-configurator .oak-cfg-intro-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;border:0;border-radius:0;box-shadow:none}
.oak-configurator .oak-cfg-more{background:#fff;border-color:#d7d7d7;color:#404040}
.oak-configurator .oak-cfg-more:hover{background:#f1f1f1;border-color:#b9b9b9;color:#333}
.oak-configurator .oak-cfg-filter:hover{background:#eee;color:#333}
.oak-configurator .oak-cfg-filter[aria-pressed=true],.oak-configurator .oak-cfg-filter[aria-pressed=true]:hover{background:#3b3b3b;border-color:#3b3b3b;color:#fff}
.oak-configurator .oak-cfg-primary[aria-pressed=true]{border-color:#555;color:#333}
.oak-configurator .oak-cfg-top,.oak-configurator .oak-cfg-badges .oak-cfg-top,.oak-configurator .oak-cfg-new{background:#303030de}
.oak-configurator .oak-cfg-note-art{background:#eee}
.oak-configurator .oak-postcard-free{background:#eee;color:#555}

@media(max-width:390px){.oak-configurator .oak-cfg-row{grid-template-columns:36px minmax(0,1fr) auto 7px;gap:8px}.oak-configurator .oak-cfg-fragrance-intro{width:36px;height:40px}.oak-configurator .oak-cfg-row .oak-cfg-row-action{font-size:11px}.oak-configurator .oak-cfg-field .oak-cfg-main-scent-row .oak-cfg-row-notes:not(.is-error){display:none}}


.oak-configurator .oak-cfg-scent-choose{grid-area:choose}
@container(min-width:520px){.oak-configurator .oak-cfg-scent-content{grid-template-columns:242px minmax(0,1fr);grid-template-areas:"name name" "notes brief" "choose brief";grid-template-rows:repeat(3,max-content);column-gap:24px;row-gap:8px;padding:12px}.oak-configurator .oak-cfg-brief{align-self:center;max-width:240px}}
@container(max-width:280px){.oak-configurator .oak-cfg-notes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.oak-configurator .oak-cfg-note{overflow-wrap:normal}}
.oak-configurator .oak-cfg-fragrance-intro .oak-cfg-reed-swatch{transform:scale(.8)}
.oak-configurator .oak-cfg-fragrance-intro .oak-cfg-color-swatch{width:28px;height:28px}
.oak-configurator .oak-cfg-volume-mini{font-size:11px;line-height:1.3;padding:3px;text-align:center;overflow-wrap:anywhere}
.oak-configurator .oak-cfg-component-copy{min-width:0}
.oak-configurator a.oak-cfg-component-title{color:#333;text-decoration:underline;text-underline-offset:3px}
.oak-configurator .oak-cfg-component-thumb{display:flex;align-items:center;justify-content:center;grid-row:span 2;width:52px;height:62px;border-radius:7px;overflow:hidden;background:#f1f1f1}
.oak-configurator .oak-cfg-component-thumb img{display:block;width:100%;height:100%;max-width:none;margin:0;border:0;object-fit:cover}
.oak-configurator .oak-cfg-component-wish{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(min-width:560px){.oak-configurator .oak-cfg-component:not(.oak-cfg-component-wish){grid-template-columns:52px minmax(0,1fr) minmax(0,1.25fr)}.oak-configurator .oak-cfg-component:not(.oak-cfg-component-wish) .oak-cfg-component-values{grid-column:3;text-align:right}.oak-configurator .oak-cfg-component-thumb{grid-row:auto}}
.oak-configurator.oak-cfg-wish-only:has(.oak-cfg-content:only-child){border:0;padding:0;min-height:1px;background:none}

.oak-configurator .oak-cfg-color-swatch.is-gold{background:linear-gradient(135deg,#e2cc8b 0%,#b58d3c 48%,#d4b260 70%,#99712b 100%);border-color:#b19252}
.oak-configurator .oak-cfg-color-swatch.is-silver{background:linear-gradient(135deg,#ececec,#a5a5a5 48%,#dedede 72%,#999);border-color:#aaa}
.oak-configurator .oak-cfg-volume-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;height:100%}
.oak-configurator .oak-cfg-volume-visual svg{width:21px;height:21px}
.oak-configurator .oak-cfg-volume-visual .oak-cfg-volume-mini{font-size:10px;line-height:1.1;padding:0 1px}

/* A predictable inset for the native dropdown arrow in every browser. */
.oak-configurator select.oak-cfg-proxy{appearance:none;-webkit-appearance:none;padding:11px 44px 11px 14px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:12px 8px;background-position:right 16px center;border-radius:7px}

/* Compact mobile fragrance cards: wider art and content-driven spacing. */
@media(max-width:600px){
.oak-configurator .oak-cfg-scent-body{grid-template-columns:108px minmax(0,1fr)}
.oak-configurator .oak-cfg-scent-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "brief" "notes" "choose";grid-template-rows:repeat(4,max-content);padding:8px;gap:6px}
.oak-configurator .oak-cfg-brief{font-size:12px;line-height:1.4}
.oak-configurator .oak-cfg-notes{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:start}
.oak-configurator .oak-cfg-note{font-size:10px;line-height:1.3;gap:2px;overflow-wrap:normal;word-break:normal}
.oak-configurator .oak-cfg-note-art{width:32px;height:32px}
.oak-configurator .oak-cfg-note-art img{width:30px;height:30px}
.oak-configurator .oak-cfg-scent-choose,.oak-configurator .oak-cfg-scent-choose[aria-pressed=true]{justify-self:center}
.oak-configurator .oak-cfg-about-chip{font-size:11px;white-space:normal;gap:4px;padding:4px;min-height:26px}
}
@media(max-width:360px){
.oak-configurator .oak-cfg-scent-body{grid-template-columns:100px minmax(0,1fr)}
.oak-configurator .oak-cfg-scent-content{padding:7px}
.oak-configurator .oak-cfg-notes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:5px}
}
