.cmm-account-popup{position:fixed;inset:auto;margin:0;width:350px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);overflow:auto;padding:26px;border:1px solid #d6ddcf;border-radius:10px;background:#fcfbf8;color:#292d28;box-shadow:0 12px 40px #1c2c2030;font:14px/1.5 Arial,sans-serif;text-align:left}
.cmm-account-popup::backdrop{background:#18261c12}
.cmm-account-popup h2{font:27px/1.2 Georgia,serif;letter-spacing:0;margin:0 26px 20px 0}
.cmm-account-popup label{display:block;font-size:13px;margin:12px 0 5px}
.cmm-account-popup input:not([type=hidden]){display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #9ca695;border-radius:4px;background:white;font:16px/1.3 Arial,sans-serif}
.cmm-account-popup .cmm-popup-primary{display:block;width:100%;box-sizing:border-box;text-align:center;padding:11px 14px;background:#334737;border:1px solid #334737;border-radius:4px;color:white;font:600 14px/1.4 Arial,sans-serif;margin-top:18px;cursor:pointer;text-decoration:none}
.cmm-account-popup .cmm-popup-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;background:transparent;color:#334737;font:27px/1 Arial,sans-serif;cursor:pointer}
.cmm-popup-forgot{display:block;font-size:12px;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.cmm-account-popup .cmm-popup-switch{width:100%;border:0;border-top:1px solid #dce1d5;margin-top:19px;padding:15px 0 0;background:transparent;color:#334737;font:600 14px Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cmm-account-popup small,.cmm-account-popup .woocommerce-privacy-policy-text{display:block;font-size:11px;line-height:1.5;color:#626b5e;margin-top:8px}
.cmm-account-popup .cmm-password-hint{display:none}.cmm-account-popup [hidden]{display:none!important}.cmm-account-popup button:focus-visible,.cmm-account-popup a:focus-visible{outline:2px solid #977547;outline-offset:3px}

/* Account panel — warm ivory, forest green, consistent provider controls. */
#cmm-account-popup{box-sizing:border-box;width:400px;padding:32px;border:1px solid #e3e3d9;border-radius:20px;background:#fdfcf9;box-shadow:0 24px 80px #17291e29,0 4px 16px #17291e0a;color:#303a30}
#cmm-account-popup::backdrop{background:#19251d30;backdrop-filter:blur(3px)}
#cmm-account-popup .cmm-popup-eyebrow{margin:2px 32px 12px 0;color:#7b806e;font:600 10px/1.5 Arial,sans-serif;letter-spacing:2px}
#cmm-account-popup h2{font:30px/1.15 Georgia,serif;letter-spacing:-.7px;margin:0 0 10px;padding-right:12px}
#cmm-account-popup .cmm-popup-intro{font:13px/1.6 Arial,sans-serif;color:#777c71;margin:0 0 24px}
#cmm-account-popup .cmm-popup-close{top:15px;right:15px;border-radius:50%;background:#f0f1e9;font-size:24px;color:#6c7567}
#cmm-account-popup .cmm-popup-close:hover{background:#e4e8dc}
#cmm-account-popup label{font-weight:600;font-size:12px;margin:15px 0 7px;color:#495442}
#cmm-account-popup input:not([type=hidden]){min-height:47px;padding:12px 14px;border:1px solid #dce0d4;border-radius:9px;background:#fff;font-size:14px;color:#303a30;transition:border-color .15s,box-shadow .15s}
#cmm-account-popup input::placeholder{color:#999f94}
#cmm-account-popup input:focus{outline:0;border-color:#77866d;box-shadow:0 0 0 3px #77866d18}
#cmm-account-popup .cmm-popup-primary{min-height:47px;margin-top:20px;border-radius:9px;background:#334a39;border-color:#334a39;font-weight:600;box-shadow:0 3px 8px #334a3910;transition:background .15s}
#cmm-account-popup .cmm-popup-primary:hover{background:#243b2b}
#cmm-account-popup .cmm-popup-forgot{text-align:right;margin-top:12px;font-size:11px;color:#737c6b;text-decoration:none}
#cmm-account-popup .cmm-popup-forgot:hover{text-decoration:underline}
.cmm-social-divider{display:flex;align-items:center;gap:12px;margin:23px 0 16px;color:#858a7f;font:11px/1.4 Arial,sans-serif}
.cmm-social-divider:before,.cmm-social-divider:after{content:"";height:1px;background:#e3e6dd;flex:1}
#cmm-account-popup .cmm-social-login{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;margin:0;padding:0;border:0}
#cmm-account-popup .cmm-social-divider{grid-column:1/-1;margin:22px 0 8px}
#cmm-account-popup .cmm-social-secondary,#cmm-account-popup .cmm-social-secondary>div{display:contents}
#cmm-account-popup .cmm-social-login div.nsl-container{padding:0!important;min-width:0;width:100%}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-container-buttons{display:flex!important;padding:0!important;margin:0!important;width:100%!important}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-container-buttons>a{display:block!important;width:100%!important;min-width:0!important;margin:0!important;border-radius:9px;text-decoration:none}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button,#cmm-account-popup .cmm-facebook-pending{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:76px;min-height:76px;padding:10px 4px;border:1px solid #dfe3d7!important;border-radius:9px;background:#fff!important;color:#354432!important;box-shadow:none!important;font:600 12px/1.3 Arial,sans-serif}
#cmm-account-popup .cmm-social-login div.nsl-container a:hover .nsl-button{background:#f0f3eb!important;border-color:#a7b39b!important}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button-svg-container{padding:0!important;width:20px;height:20px;flex:0 0 20px}
#cmm-account-popup .cmm-social-login svg{width:20px;height:20px}
#cmm-account-popup .nsl-button-twitter .nsl-button-svg-container svg{fill:#303a30!important}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button-label-container{margin:0!important;padding:0!important;font:600 12px/1.3 Arial,sans-serif!important;text-align:center!important;letter-spacing:0!important;flex:0 0 auto!important}
#cmm-account-popup .cmm-facebook-pending{background:#f5f5f0!important;color:#8a9083!important;gap:4px;position:relative}
#cmm-account-popup .cmm-facebook-pending svg{opacity:.5}
#cmm-account-popup .cmm-facebook-pending small{font:9px/1.2 Arial,sans-serif;margin:2px 0 0;color:#919888}
#cmm-account-popup .cmm-popup-switch{margin-top:22px;padding-top:18px;border-color:#e3e6dd;font-size:12px;text-underline-offset:4px}
@media(max-width:420px){#cmm-account-popup{padding:26px 22px;border-radius:16px}#cmm-account-popup h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){#cmm-account-popup *{transition:none!important}}
#cmm-account-popup .nsl-button-twitter .nsl-button-svg-container svg path{fill:#303a30!important}
#cmm-account-popup .nsl-button-facebook .nsl-button-svg-container svg path{fill:#1877f2!important}
/* Keep provider names available to screen readers, with only logos visible. */
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button-label-container{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button{height:54px;min-height:54px;gap:0}
/* Balance visible logo sizes, accounting for Google's built-in SVG padding. */
#cmm-account-popup .cmm-social-login div.nsl-container .nsl-button-svg-container{width:24px;height:24px;flex:0 0 24px;display:flex;align-items:center;justify-content:center;overflow:visible}
#cmm-account-popup .cmm-social-login .nsl-button-svg-container svg{width:24px;height:24px;max-width:none;flex-shrink:0}
#cmm-account-popup .cmm-social-login .nsl-button-google .nsl-button-svg-container svg{width:30px;height:30px}
#cmm-account-popup .cmm-social-login .nsl-button-google .nsl-button-svg-container svg{width:32px;height:32px}
#cmm-account-popup .cmm-social-login .nsl-button-twitter .nsl-button-svg-container svg{transform:scale(1.333333);transform-origin:center}

/* Connected account menu. */
#cmm-account-popup.cmm-account-connected{padding:0;border-radius:16px;border:1px solid #ded9cc;background:#fcfaf5;font-family:'CMM Sans',Arial,sans-serif;color:#203c30;box-shadow:0 18px 60px #182e2526}
#cmm-account-popup.cmm-account-connected::backdrop{background:#18261c1a;backdrop-filter:blur(1px)}
#cmm-account-popup.cmm-account-connected .cmm-popup-close{top:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;background:#ffffff80;border:1px solid #d9dece;font-size:24px;color:#4b5e4a}
.cmm-account-welcome{padding:30px 30px 24px;background:#eeeee3;border-bottom:1px solid #dedfce}
#cmm-account-popup .cmm-account-kicker{margin:0 45px 16px 0;font-size:9px;letter-spacing:.2em;line-height:1.6;color:#626e58}
#cmm-account-popup.cmm-account-connected h2{font:38px/1.04 'CMM Caslon',Georgia,serif;letter-spacing:-.025em;padding:0;margin:0 0 18px;color:#203c30}
#cmm-account-popup.cmm-account-connected h2 em{font-weight:400;color:#657654}
.cmm-account-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;line-height:1.4;color:#506447}
.cmm-account-status>span{width:5px;height:5px;border-radius:50%;background:#617951}
.cmm-account-shortcuts{display:grid;padding:8px 22px}
.cmm-account-shortcuts>a{display:flex;align-items:center;gap:14px;min-height:80px;padding:14px 6px;color:#203c30;text-decoration:none;border-bottom:1px solid #e5e3d9}
.cmm-account-shortcuts>a:last-child{border-bottom:0}
.cmm-account-shortcuts>a:hover{background:#f0f0e7;border-radius:6px}
.cmm-account-icon{display:grid;place-items:center;flex:none;width:38px;height:40px;border:1px solid #e0e3d6;border-radius:10px;background:#f0f1e8}
.cmm-account-icon svg{width:21px;height:21px}
.cmm-account-label{flex:1;min-width:0}
.cmm-account-label strong{display:block;font-size:14px;font-weight:400;line-height:1.4}
#cmm-account-popup .cmm-account-label small{margin:4px 0 0;display:block;font-size:11px;line-height:1.5;color:#6b7165}
.cmm-account-chevron{font:24px/1 Georgia,serif;color:#738064}
.cmm-account-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-top:1px solid #e5e3d9;background:#f5f3ec}
.cmm-account-bottom a{text-decoration:none;font-size:11px;line-height:1.5;color:#203c30}
.cmm-account-overview{display:inline-flex;align-items:center;gap:10px}
.cmm-account-overview span{font-size:18px}
.cmm-account-bottom .cmm-account-logout{color:#72776c;font-size:10px}
.cmm-account-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:420px){.cmm-account-welcome{padding:26px 24px 22px}#cmm-account-popup.cmm-account-connected h2{font-size:35px}.cmm-account-shortcuts{padding:6px 16px}.cmm-account-shortcuts>a{gap:10px;min-height:76px}.cmm-account-bottom{padding:18px 22px}.cmm-account-label strong{font-size:13px}#cmm-account-popup .cmm-account-label small{font-size:10px}}

/* Login and registration: warm editorial heading and a clear form hierarchy. */
#cmm-account-popup:not(.cmm-account-connected){width:440px;padding:0 30px 22px;border:1px solid #e2dfd4;border-radius:22px;background:#fffefa;font-family:'CMM Sans',Arial,sans-serif;box-shadow:0 24px 85px #17342830}
#cmm-account-popup:not(.cmm-account-connected)::backdrop{background:#15281f38;backdrop-filter:blur(4px)}
#cmm-account-popup .cmm-auth-heading{position:relative;margin:0 -30px;padding:25px 30px 20px;background:linear-gradient(135deg,#ede3d3 0%,#f3f2e8 55%,#fffefa 100%);border-bottom:1px solid #ece8dc}
#cmm-account-popup .cmm-auth-mark{display:grid;place-items:center;box-sizing:border-box;float:none;width:48px;height:54px;border:1px solid #a8b29b;border-radius:12px;color:#36533c;background:#ffffff65;margin:0 auto 12px}
#cmm-account-popup .cmm-auth-mark svg{display:block;width:32px;height:37px;max-width:100%;flex:none}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-close{z-index:2;top:18px;right:18px;width:34px;height:34px;background:#ffffff99;border:1px solid #d8ddce;color:#52654b}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-eyebrow{font:600 9px/1.5 'CMM Sans',Arial;letter-spacing:.18em;color:#788166;margin:0 0 8px}
#cmm-account-popup:not(.cmm-account-connected) h2{font:400 38px/1.06 'CMM Caslon',Georgia,serif;letter-spacing:-.025em;color:#203c30;margin:0 0 10px;padding:0}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-intro{font:12px/1.6 'CMM Sans',Arial;color:#6a7560;margin:0;max-width:310px}
#cmm-account-popup .cmm-auth-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#efefe7;border:1px solid #e4e5d9;border-radius:10px;margin:18px 0}
#cmm-account-popup .cmm-auth-modes button{min-height:36px;padding:8px;border:0;border-radius:7px;background:transparent;color:#75806b;font:500 12px/1.3 'CMM Sans',Arial;cursor:pointer}
#cmm-account-popup .cmm-auth-modes button[aria-pressed=true]{background:#fffefa;color:#294333;box-shadow:0 2px 5px #29433312}
#cmm-account-popup:not(.cmm-account-connected) label{font:500 12px/1.4 'CMM Sans',Arial;margin:12px 0 6px;color:#42553e}
#cmm-account-popup:not(.cmm-account-connected) input:not([type=hidden]){font:14px/1.4 'CMM Sans',Arial;min-height:45px;border:1px solid #dce1d4;background:#fff;border-radius:8px;padding:11px 13px}
#cmm-account-popup .cmm-auth-password{position:relative}
#cmm-account-popup .cmm-auth-password input{padding-right:76px!important}
#cmm-account-popup .cmm-auth-reveal{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:9px 5px;font:11px 'CMM Sans',Arial;color:#6b7c5f;cursor:pointer}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-primary{min-height:45px;margin-top:18px;border-radius:8px;background:#294a37;border:1px solid #294a37;font:600 13px/1.4 'CMM Sans',Arial;box-shadow:0 4px 10px #294a3718}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-primary:hover{background:#385c43}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-forgot{font:11px/1.5 'CMM Sans',Arial;margin-top:9px;color:#748268}
#cmm-account-popup:not(.cmm-account-connected) .cmm-social-divider{margin:17px 0 7px;font:10px/1.4 'CMM Sans',Arial;letter-spacing:.025em}
#cmm-account-popup:not(.cmm-account-connected) .cmm-social-login div.nsl-container .nsl-button{height:44px;min-height:44px;background:#fffefa!important;border-radius:8px}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-switch{margin-top:17px;padding:14px 0 0;border-color:#e7e8df;font:500 11px/1.5 'CMM Sans',Arial;color:#4c6545;text-decoration:none}
#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-switch:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-height:760px){#cmm-account-popup .cmm-auth-heading{padding-top:18px;padding-bottom:16px}#cmm-account-popup .cmm-auth-mark{float:none;width:44px;height:48px;margin:0 auto 10px}#cmm-account-popup:not(.cmm-account-connected) h2{font-size:32px;clear:both}#cmm-account-popup .cmm-popup-eyebrow{padding-top:9px}#cmm-account-popup .cmm-auth-modes{margin:12px 0}#cmm-account-popup:not(.cmm-account-connected) .cmm-popup-intro{font-size:11px}}
@media(max-width:480px){#cmm-account-popup:not(.cmm-account-connected){padding:0 22px 18px;border-radius:18px}#cmm-account-popup .cmm-auth-heading{margin:0 -22px;padding:22px}#cmm-account-popup:not(.cmm-account-connected) h2{font-size:34px}#cmm-account-popup:not(.cmm-account-connected) input:not([type=hidden]){font-size:16px}}
