/* Scoped ElectricChastity shopping UI; the native checkout receives no assets. */
.ec-header-tools{display:flex;align-items:center;gap:8px;margin-left:22px;flex-shrink:0;order:20}
#masthead .ec-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#f7f9fc;text-decoration:none;cursor:pointer}
#masthead .ec-icon-button:hover{color:#77b5ff;background:#172331}
.ec-icon-button:focus-visible,.ec-shopping-dialog :focus-visible{outline:2px solid #77b5ff;outline-offset:3px}
.ec-cart-badge{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:#287fe8;color:white;font:700 10px/18px system-ui;text-align:center}
.ec-cart-badge[hidden]{display:none}
body.ec-has-shopping-tools #masthead .inside-header{flex-wrap:nowrap;gap:0}
body.ec-has-shopping-tools #masthead .main-navigation{margin-left:auto}
body.ec-has-shopping-tools #masthead .main-navigation .main-nav>ul{flex-wrap:nowrap}
body.ec-has-shopping-tools #masthead .main-navigation .main-nav>ul>li>a{padding-left:13px;padding-right:13px;white-space:nowrap}
.ec-shopping-dialog{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:480px;max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;color:#182333;background:#fff;overflow:hidden;box-shadow:-14px 0 60px #0003;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.ec-shopping-dialog[open]{display:flex;flex-direction:column;animation:ec-drawer-in .22s ease-out}
.ec-shopping-dialog::backdrop{background:rgb(4 10 18 / .58);animation:ec-backdrop-in .22s ease-out}
.ec-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:22px 28px;border-bottom:1px solid #e1e7ed}
.ec-dialog-heading h2{margin:0;color:#162130;font-size:25px;line-height:1.3;letter-spacing:-.7px;font-weight:650}
.ec-shopping-dialog .ec-dialog-close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;background:transparent;border:0;color:#243447;border-radius:50%;cursor:pointer}
.ec-shopping-dialog button:hover{background:#eff4fa;color:#125fbd}
.ec-cart-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.ec-cart-loading{padding:32px}
.ec-cart-items{padding:0 28px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}
.ec-cart-columns{display:flex;justify-content:space-between;padding:21px 0 13px;color:#687482;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #e1e7ed}
.ec-cart-item{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:15px;padding:23px 0;border-bottom:1px solid #e1e7ed}
.ec-cart-image img{width:82px;height:94px;object-fit:contain;background:#f4f6f8;border-radius:6px}
.ec-cart-name{margin:0 0 7px;font-size:14px;font-weight:550;line-height:1.45;overflow-wrap:anywhere}
.ec-cart-name a{color:#162130;text-decoration:none}
.ec-cart-name a:hover{text-decoration:underline}
.ec-cart-unit-price{margin:0 0 9px;font-size:12px;color:#566475}
.ec-cart-details dl.variation{margin:0 0 11px;font-size:12px;line-height:1.5;color:#566475}
.ec-cart-details dl.variation dt{float:left;clear:left;margin:0 5px 2px 0;font-weight:500}
.ec-cart-details dl.variation dd{margin:0 0 2px}
.ec-cart-details dl.variation p{margin:0}
.ec-cart-line-total{margin:0;font-size:13px;color:#162130;white-space:nowrap;font-weight:600}
.ec-cart-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ec-cart-quantity{display:flex;align-items:center;border:1px solid #b9c5d1;border-radius:4px;overflow:hidden}
.ec-cart-quantity button{padding:0;width:34px;height:36px;border:0;background:#fff;color:#182333;font:18px system-ui;cursor:pointer}
.ec-cart-quantity span{min-width:25px;text-align:center;font-size:13px}
.ec-shopping-dialog button:disabled{opacity:.35;cursor:not-allowed}
.ec-shopping-dialog .ec-cart-remove{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:#607082;cursor:pointer}
.ec-cart-remove svg{width:18px;height:18px}
.ec-cart-footer{flex-shrink:0;padding:22px 28px calc(24px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e7ed}
.ec-cart-subtotal{display:flex;justify-content:space-between;gap:16px;font-size:18px;line-height:1.4}
.ec-cart-subtotal strong{color:#182333;font-size:18px;font-weight:650}
.ec-cart-footer>p{font-size:12px;color:#637183;margin:9px 0 18px}
.ec-shopping-dialog .ec-cart-primary{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border-radius:5px;background:#176bd0;color:white;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}
.ec-shopping-dialog .ec-cart-primary:hover{background:#0b55ae}
.ec-cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:32px}
.ec-cart-empty>svg{width:54px;height:54px;color:#8494a7;stroke-width:1}
.ec-cart-empty p{font-size:23px;margin:0}
.ec-cart-empty .ec-cart-primary{min-width:225px;margin-top:6px}
.ec-cart-feedback{margin:0;padding:12px 28px;font-size:13px;color:#904214;background:#fff2e7;flex-shrink:0}
.ec-cart-feedback[hidden]{display:none}
.ec-search-dialog{width:580px;height:auto;max-height:100dvh;inset:0 0 auto auto;border-radius:0 0 0 10px}
.ec-search-dialog form{padding:24px 28px 32px;overflow:auto}
.ec-search-dialog label{display:block;color:#566475;font-size:13px;margin-bottom:10px}
.ec-search-fields{display:flex;border:1px solid #aabbd0;border-radius:5px;overflow:hidden}
.ec-search-fields input[type=search]{flex:1;min-width:0;width:100%;height:52px;border:0;background:#fff;color:#182333;font-size:16px;padding:12px}
.ec-search-fields button{width:52px;border:0;background:#176bd0;color:#fff;cursor:pointer;padding:12px}
html.ec-dialog-open{overflow:hidden}
body.ec-dialog-locked{position:fixed;width:100%;overflow:hidden}
@keyframes ec-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes ec-backdrop-in{from{opacity:0}to{opacity:1}}
@media(min-width:769px) and (max-width:1100px){body.ec-has-shopping-tools #masthead .inside-header{padding-left:22px;padding-right:22px}body.ec-has-shopping-tools #masthead .header-image{max-width:205px}.ec-header-tools{margin-left:10px;gap:4px}body.ec-has-shopping-tools #masthead .main-navigation .main-nav>ul>li>a{padding-left:9px;padding-right:9px;font-size:14px}}
@media(max-width:768px){
 body.ec-has-shopping-tools #masthead .inside-header{display:flex;flex-direction:row;flex-wrap:wrap;padding:14px 12px;align-items:center;gap:0}
 body.ec-has-shopping-tools #masthead .site-logo,body.ec-has-shopping-tools #masthead .site-branding{order:2;flex:1;min-width:0;text-align:left}
 body.ec-has-shopping-tools #masthead .header-image{width:100%;max-width:190px;height:auto}
 body.ec-has-shopping-tools #masthead .main-title{font-size:18px}
 body.ec-has-shopping-tools #masthead .mobile-menu-control-wrapper{order:1;margin:0 4px 0 0;flex:none}
 body.ec-has-shopping-tools #masthead .mobile-menu-control-wrapper .menu-toggle{width:40px;height:44px;padding:0;display:flex;justify-content:center;align-items:center}
 body.ec-has-shopping-tools #masthead .mobile-menu{display:none}
 body.ec-has-shopping-tools #masthead #site-navigation{order:4;flex-basis:100%;margin:0}
 body.ec-has-shopping-tools #masthead #site-navigation .main-nav>ul{flex-wrap:wrap}
 .ec-header-tools{order:3;margin-left:6px;gap:0}
 #masthead .ec-icon-button{width:40px;height:44px}
 .ec-shopping-dialog{width:100%;max-width:100%;border-radius:0}
 .ec-dialog-heading{padding:16px 18px;padding-top:calc(16px + env(safe-area-inset-top))}
 .ec-dialog-heading h2{font-size:24px}
 .ec-cart-items{padding:0 18px}
 .ec-cart-item{grid-template-columns:72px minmax(0,1fr) auto;gap:12px;padding:20px 0}
 .ec-cart-image img{width:72px;height:86px}
 .ec-cart-name{font-size:13px}
 .ec-cart-quantity button{width:32px;height:40px}
 .ec-cart-quantity span{min-width:22px}
 .ec-cart-controls{gap:4px}
 .ec-cart-remove{width:34px}
 .ec-cart-footer{padding:18px 18px calc(20px + env(safe-area-inset-bottom))}
 .ec-search-dialog form{padding:20px 18px calc(25px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.ec-shopping-dialog[open],.ec-shopping-dialog::backdrop{animation:none}}
