.tw-options-dialog{color:#19332d;background:#fff;border:0;border-radius:18px;padding:0;width:min(620px,calc(100vw - 28px));max-height:90vh;box-shadow:0 20px 80px #0004;font:15px/1.5 system-ui,sans-serif}.tw-options-dialog::backdrop{background:rgba(0,0,0,.45)}.tw-options-form{display:flex;flex-direction:column;max-height:90vh}.tw-options-dialog header,.tw-options-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e2e9e6}.tw-options-dialog h2{font-size:21px;margin:0}.tw-options-scroll{padding:0 22px;overflow:auto;min-height:0}.tw-options-dialog h3{font-size:16px;margin:22px 0 8px}.tw-options-dialog fieldset{border:1px solid #dce5e1;border-radius:12px;margin:12px 0;padding:12px}.tw-options-dialog legend{font-weight:700;padding:0 6px}.tw-options-dialog legend small{font-weight:400;color:#65776f;margin-left:8px}.tw-options-dialog fieldset p{font-size:12px;margin:0 0 10px;color:#65776f}.tw-options-dialog fieldset label{display:flex;align-items:center;gap:10px;padding:10px 4px;cursor:pointer}.tw-options-dialog fieldset label span{flex:1}.tw-options-dialog input[type=checkbox],.tw-options-dialog input[type=radio]{width:19px;height:19px;accent-color:var(--tw-brand,#12a98c);flex-shrink:0}.tw-options-dialog button{padding:10px 16px;border:1px solid #dce5e1;border-radius:9px;background:#fff;color:inherit;cursor:pointer}.tw-options-dialog .tw-options-primary{background:var(--tw-brand,#12a98c);color:var(--tw-on-brand,#fff);border-color:transparent}.tw-options-dialog footer{border-top:1px solid #e2e9e6;border-bottom:0}.tw-options-error{color:#b42318;margin:0 22px}.tw-options-field{display:grid;gap:6px;margin:15px 0}.tw-options-dialog select,.tw-options-dialog input:not([type=radio]):not([type=checkbox]){font:inherit;padding:9px;border:1px solid #ccd9d3;border-radius:8px;width:100%;box-sizing:border-box}.tw-options-dialog button:focus-visible,.tw-options-dialog input:focus-visible{outline:2px solid #12886f;outline-offset:3px}.tw-options-editor-row{border-top:1px solid #dce5e1;padding:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tw-options-links label{display:flex;gap:9px;align-items:center;margin:10px 0}.tw-options-links label span{flex:1}.tw-options-links button{font-size:12px}.tw-options-dialog .tw-options-editor-row label{display:grid;gap:4px;font-size:12px}body.eb-darkmode .tw-options-dialog{background:#182b26;color:#eef7f3}body.eb-darkmode .tw-options-dialog input:not([type=checkbox]):not([type=radio]),body.eb-darkmode .tw-options-dialog select,body.eb-darkmode .tw-options-dialog button:not(.tw-options-primary){background:#223b32;color:#eef7f3}body.eb-darkmode .tw-options-dialog small,body.eb-darkmode .tw-options-dialog fieldset p{color:#bed0c8}


/* 1.3.22: option rows must override the surrounding checkout form styles. */
.tw-options-dialog { --tw-option-surface:#fff; --tw-option-line:#dce5e1; }
.tw-options-dialog .tw-options-form fieldset[data-group] { min-width:0; padding:12px; margin:16px 0; border-color:var(--tw-option-line); }
.tw-options-dialog .tw-options-form fieldset[data-group] > label {
  display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center;
  gap:12px; min-height:48px; margin:7px 0 0; padding:11px 12px;
  border:1px solid var(--tw-option-line); border-radius:10px;
  background:var(--tw-option-surface); color:inherit; font-size:14px; font-weight:500;
  line-height:1.4; cursor:pointer; box-sizing:border-box;
}
.tw-options-dialog .tw-options-form fieldset[data-group] > label:hover {
  border-color:var(--tw-brand,#12a98c);
}
.tw-options-dialog .tw-options-form fieldset[data-group] > label:has(> input:checked) {
  border-color:var(--tw-brand,#12a98c);
  background:color-mix(in srgb,var(--tw-brand,#12a98c) 7%,var(--tw-option-surface));
  box-shadow:0 0 0 1px var(--tw-brand,#12a98c);
}
.tw-options-dialog .tw-options-form fieldset[data-group] > label > span { min-width:0; overflow-wrap:anywhere; }
.tw-options-dialog .tw-options-form fieldset[data-group] > label > strong {
  font-size:13px; font-weight:650; white-space:nowrap; margin:0; padding:0; text-align:right;
}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option],
#twOverlay .tw-options-dialog .tw-options-form fieldset[data-group] input[data-option] {
  appearance:auto; display:block; position:static; width:20px; height:20px;
  min-width:20px; min-height:20px; max-width:20px; max-height:20px;
  margin:0; padding:0; border:0; background:transparent; box-shadow:none;
  accent-color:var(--tw-brand,#12a98c); cursor:pointer; transform:none;
}
#twOverlay .tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]::after { content:none; }
.tw-options-dialog .tw-options-form fieldset[data-group] legend small {
  display:inline-block; padding:2px 7px; border-radius:6px; font-size:11px;
  background:color-mix(in srgb,currentColor 7%,transparent); vertical-align:middle;
}
.tw-options-dialog .tw-options-form > header,.tw-options-dialog .tw-options-form > footer { flex-shrink:0; }
body.eb-darkmode .tw-options-dialog { --tw-option-surface:#182b26; --tw-option-line:#476156; }
@media(max-width:440px) {
  .tw-options-dialog .tw-options-scroll { padding:0 14px; }
  .tw-options-dialog .tw-options-form fieldset[data-group] { padding:10px; }
  .tw-options-dialog .tw-options-form fieldset[data-group] > label { gap:9px; padding:10px; }
  .tw-options-dialog .tw-options-form > header,.tw-options-dialog .tw-options-form > footer { padding:14px; gap:10px; }
}
.tw-choice-dialog:modal{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
.tw-choice-dialog .tw-options-form{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
.tw-choice-dialog:modal::backdrop{background:rgba(30,30,30,.48)}
.tw-options-dialog.tw-options-underlay::backdrop,dialog.tw-options-underlay::backdrop{background:transparent}
.tw-choice-dialog .tw-options-scroll{overscroll-behavior:contain;padding-top:16px;padding-bottom:16px}
.tw-choice-dialog header h2{min-width:0;overflow-wrap:anywhere}.tw-choice-dialog header [data-cancel]{flex-shrink:0}
.tw-choice-dialog .tw-menu-choice-group{padding:0;border:0;margin:0 0 24px;min-width:0}
.tw-choice-dialog .tw-menu-choice-group legend{font-size:16px;padding:0;margin:0 0 5px}
.tw-choice-dialog .tw-menu-choice-group>p{margin:0 0 11px}
.tw-menu-choice-list{display:grid;gap:9px}
.tw-choice-dialog .tw-menu-choice{display:grid;grid-template-columns:60px minmax(0,1fr) 22px;align-items:center;gap:10px 13px;min-width:0;padding:12px;border:1px solid var(--tw-option-line,#dce5e1);border-radius:13px;background:var(--tw-option-surface,#fff);box-sizing:border-box}
.tw-choice-dialog .tw-menu-choice.is-selected{border-color:var(--tw-brand,#12a98c);box-shadow:0 0 0 1px var(--tw-brand,#12a98c);background:color-mix(in srgb,var(--tw-brand,#12a98c) 5%,var(--tw-option-surface,#fff))}
.tw-choice-dialog .tw-menu-choice>label{display:block;min-width:0;padding:0;margin:0;line-height:1.5;cursor:pointer}
.tw-menu-choice strong,.tw-choice-product-intro strong{display:block;font-size:14px;overflow-wrap:anywhere}
.tw-menu-choice small,.tw-choice-product-intro small{display:block;color:#65776f;font-size:12px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.tw-choice-dialog .tw-choice-photo{position:relative;display:grid;place-items:center;overflow:hidden;width:60px;height:60px;padding:0;border:1px solid #dce5e1;border-radius:11px;background:#eff6f3;color:#77978b;font-size:24px}
.tw-choice-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tw-choice-dialog input[data-component]{appearance:auto;position:static;display:block;width:22px;height:22px;min-width:22px;margin:0;padding:0;accent-color:var(--tw-brand,#12a98c);cursor:pointer}
.tw-choice-dialog input[data-component]{border-radius:50%;outline-offset:4px}
.tw-choice-summary-line{display:block}.tw-choice-surcharge{display:inline-block;white-space:nowrap}
.tw-choice-dialog .tw-choice-edit{grid-column:2 / 4;justify-self:start;padding:6px 10px;font-size:12px;font-weight:650;background:transparent;color:var(--tw-brand,#12a98c);border-color:color-mix(in srgb,var(--tw-brand,#12a98c) 28%,transparent)}
.tw-choice-dialog .tw-menu-fixed{grid-template-columns:60px minmax(0,1fr);margin-bottom:10px}
.tw-choice-product-intro{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.tw-choice-product-intro .tw-choice-photo{flex-shrink:0}
.tw-choice-detail-image{display:block;max-height:300px;width:100%;object-fit:contain;border-radius:12px;background:#f4f7f6}
.tw-choice-details{padding:12px 0 4px}.tw-choice-details p{line-height:1.7;overflow-wrap:anywhere}
.tw-choice-description{white-space:pre-line}.tw-choice-detail-price{display:flex;justify-content:space-between;gap:16px;color:#65776f}.tw-choice-detail-price strong{white-space:nowrap;color:inherit}
.tw-choice-dialog[data-kind=details] footer{justify-content:flex-end}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option],
.tw-options-dialog .tw-options-form input[data-component]{
  appearance:none;-webkit-appearance:none;display:grid;place-content:center;
  position:static;box-sizing:border-box;flex-shrink:0;width:20px;height:20px;
  min-width:20px;min-height:20px;max-width:20px;max-height:20px;
  margin:0;padding:0;border:1.5px solid #b6c9cf;border-radius:6px;
  background:var(--tw-option-surface,#fff);color:var(--tw-on-brand,#fff);
  box-shadow:none;transform:none;cursor:pointer;outline:none;
  transition:background-color .15s,border-color .15s;
}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option][type=radio],
.tw-options-dialog .tw-options-form input[data-component]{border-radius:50%}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]:checked,
.tw-options-dialog .tw-options-form input[data-component]:checked{
  background:var(--tw-brand,#12a98c);border-color:var(--tw-brand,#12a98c);
}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]::after,
.tw-options-dialog .tw-options-form input[data-component]::after{content:'';display:block;opacity:0}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option][type=checkbox]::after{
  width:9px;height:5px;border:solid currentColor;border-width:0 0 2px 2px;
  transform:rotate(-45deg) translateY(-1px);
}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option][type=radio]::after,
.tw-options-dialog .tw-options-form input[data-component]::after{
  width:7px;height:7px;border-radius:50%;background:currentColor;
}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]:checked::after,
.tw-options-dialog .tw-options-form input[data-component]:checked::after{opacity:1}
.tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]:focus-visible,
.tw-options-dialog .tw-options-form input[data-component]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--tw-brand,#12a98c) 28%,transparent);outline-offset:3px;
}
.tw-options-dialog .tw-options-form input[data-option]:disabled,
.tw-options-dialog .tw-options-form input[data-component]:disabled{opacity:.5;cursor:not-allowed}
@media(forced-colors:active){
  .tw-options-dialog .tw-options-form fieldset[data-group] input[data-option],.tw-options-dialog .tw-options-form input[data-component]{forced-color-adjust:none;background:Canvas;border-color:ButtonText;color:HighlightText}
  .tw-options-dialog .tw-options-form fieldset[data-group] input[data-option]:checked,.tw-options-dialog .tw-options-form input[data-component]:checked{background:Highlight;border-color:Highlight}
}
@media(max-width:440px){.tw-choice-dialog .tw-menu-choice{grid-template-columns:48px minmax(0,1fr) 22px;gap:9px;padding:10px}.tw-choice-dialog .tw-choice-photo{width:48px;height:48px;border-radius:9px}.tw-choice-dialog .tw-menu-fixed{grid-template-columns:48px minmax(0,1fr)}.tw-choice-dialog footer{flex-wrap:wrap}.tw-choice-dialog header h2{font-size:19px}}

/* Quantity and options editing uses the same accessible dialog as product selection. */
.tw-choice-dialog .tw-edit-quantity{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;margin-bottom:10px;border-bottom:1px solid #e2e9e6}
.tw-choice-dialog .tw-edit-quantity>label{font-size:14px;font-weight:700;margin-right:auto}
.tw-choice-dialog .tw-edit-quantity>small{flex-basis:100%;color:#65776f;font-size:12px}
.tw-choice-dialog .tw-edit-stepper{display:grid;grid-template-columns:40px 62px 40px;align-items:center;overflow:hidden;border:1px solid #dce5e1;border-radius:11px;background:white}
.tw-choice-dialog .tw-edit-stepper button{height:40px;width:40px;padding:0;border:0;border-radius:0;font-size:21px;color:var(--tw-brand,#12a98c);font-weight:700}
.tw-choice-dialog .tw-edit-stepper input[data-edit-quantity]{width:62px;height:40px;padding:0 4px;border:0;border-left:1px solid #e2e9e6;border-right:1px solid #e2e9e6;border-radius:0;text-align:center;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.tw-choice-dialog .tw-edit-stepper input::-webkit-inner-spin-button,.tw-choice-dialog .tw-edit-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.tw-choice-dialog button:disabled{opacity:.4;cursor:default}
.tw-choice-dialog .tw-edit-stepper input:focus-visible{outline:2px solid var(--tw-brand,#12a98c);outline-offset:-3px}
