ess-product-accessories{display:block;color:var(--essa-text,#182c22);font:inherit;margin:20px 0}ess-product-accessories *{box-sizing:border-box}ess-product-accessories [hidden]{display:none!important}ess-product-accessories .essa-heading{font:inherit;font-weight:650;font-size:18px;margin:0 0 8px;color:inherit}ess-product-accessories .essa-intro{font-size:13px;line-height:1.5;margin:0 0 14px}ess-product-accessories .essa-list{display:grid;gap:8px}ess-product-accessories .essa-row{background:var(--essa-background,#fff);border:1px solid var(--essa-border,#deded9);border-radius:5px;overflow-wrap:anywhere}ess-product-accessories .essa-row:has(input:checked){border-color:var(--essa-accent,#135419);box-shadow:inset 0 0 0 1px var(--essa-accent,#135419)}ess-product-accessories .essa-main{display:flex;align-items:center;gap:12px;padding:12px}ess-product-accessories input[type=checkbox]{appearance:auto!important;accent-color:var(--essa-accent,#135419);display:block!important;position:static!important;opacity:1!important;width:20px!important;height:20px!important;flex:0 0 20px;margin:0!important;cursor:pointer}ess-product-accessories input:disabled{cursor:not-allowed}ess-product-accessories .essa-image{width:56px;height:56px;object-fit:contain;flex:0 0 56px;background:#fff}ess-product-accessories .essa-info{min-width:0;flex:1}ess-product-accessories .essa-name{display:block;font-size:14px;font-weight:550;line-height:1.4;cursor:pointer}ess-product-accessories a{color:inherit;text-underline-offset:3px}ess-product-accessories [data-essa-more]{display:inline-block;font-size:12px;min-height:28px;padding:5px 0}ess-product-accessories select{display:block;width:100%;max-width:100%;font:inherit;font-size:13px;min-height:40px;background:#fff;color:var(--essa-text);border:1px solid var(--essa-border);border-radius:3px;margin-top:6px;padding:6px 28px 6px 8px}ess-product-accessories .essa-price{font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0}ess-product-accessories .essa-unavailable{display:block;font-size:12px;margin-top:4px}ess-product-accessories .essa-summary{font-size:13px;margin:12px 0 0;padding:10px 0;border-top:1px solid var(--essa-border)}ess-product-accessories .essa-message{font-size:13px;line-height:1.5;margin:8px 0 0}ess-product-accessories .essa-message:empty{display:none}ess-product-accessories :focus-visible{outline:2px solid var(--essa-accent);outline-offset:3px}ess-product-accessories dialog{color:var(--essa-text);background:var(--essa-background);border:0;border-radius:10px;width:min(540px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;box-shadow:0 16px 80px #0004}ess-product-accessories dialog::backdrop{background:#0008}ess-product-accessories .essa-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}ess-product-accessories .essa-dialog-top h3{margin:0;font-size:20px;line-height:1.3;color:inherit}ess-product-accessories [data-essa-close]{background:transparent;border:0;font-size:28px;color:inherit;min-width:44px;min-height:44px;cursor:pointer}ess-product-accessories .essa-dialog-image{display:block;max-width:100%;width:240px;height:240px;object-fit:contain;margin:20px auto}ess-product-accessories dialog p{line-height:1.65;font-size:14px}ess-product-accessories .essa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[data-essa-active] .shopify-payment-button{display:none!important}@media(max-width:480px){ess-product-accessories .essa-main{flex-wrap:wrap;gap:10px;padding:12px}ess-product-accessories .essa-image{width:44px;height:44px;flex-basis:44px}ess-product-accessories .essa-info{flex-basis:calc(100% - 90px)}ess-product-accessories .essa-price{margin-left:auto}ess-product-accessories [data-essa-more]{min-height:40px;padding:10px 0}}

/* Compact subtotal and grouped accessory layout (approved option B). */
ess-product-accessories .essa-package-total{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:14px;padding:14px 16px;margin:0 0 14px;color:var(--essa-text,#232323);font-size:14px;line-height:1.5}
ess-product-accessories .essa-total-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:3px;font-size:16px}
ess-product-accessories .essa-total-amount{color:var(--essa-accent,#135419);text-align:right;white-space:nowrap}
ess-product-accessories .essa-package-total p{margin:0;color:#626762;font-size:13px;line-height:1.5}
ess-product-accessories .essa-categories{display:grid;gap:12px}
ess-product-accessories .essa-category{border:0;margin:0;padding:0;min-width:0}
ess-product-accessories .essa-category>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;cursor:pointer;background:#f7f7f7;border:1px solid #deded9;border-radius:12px;padding:13px 16px;font:inherit;font-size:15px;font-weight:550;min-height:48px}
ess-product-accessories .essa-category>summary::-webkit-details-marker{display:none}
ess-product-accessories .essa-chevron{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px;flex-shrink:0}
ess-product-accessories .essa-category[open] .essa-chevron{transform:rotate(225deg);margin-top:6px;margin-bottom:0}
ess-product-accessories .essa-category>.essa-list{margin-top:8px}
ess-product-accessories .essa-row{border-radius:10px;background:#fff}
ess-product-accessories .essa-row:has([data-essa-check]:checked){background:#f6f9f6;box-shadow:none;border-color:var(--essa-accent,#135419)}
ess-product-accessories .essa-add-setup{display:block;width:100%;margin-top:14px;padding:14px 16px;border:1px solid var(--essa-accent,#135419);border-radius:5px;background:var(--essa-accent,#135419);color:#fff;font:inherit;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer;min-height:48px}
ess-product-accessories .essa-add-setup:disabled{opacity:.6;cursor:wait}
@media(max-width:480px){ess-product-accessories .essa-total-line{font-size:14px;gap:10px}ess-product-accessories .essa-package-total{padding:12px}ess-product-accessories .essa-category>summary{font-size:14px;padding:12px}}
