.woocommerce-account .woocommerce { --emo-green:#287b50; --emo-border:#dfe6e0; }
.woocommerce-account .woocommerce-MyAccount-navigation { float:none!important; width:100%!important; margin:0 0 30px!important; border-bottom:1px solid var(--emo-green); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; list-style:none; padding:0!important; margin:0!important; gap:1px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0!important; padding:0!important; border:0!important; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:13px 20px; text-decoration:none; background:var(--emo-green); color:#fff!important; font-size:14px; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:#1e603d; }
.woocommerce-account .woocommerce-MyAccount-content { float:none!important; width:100%!important; }
.emo-portal { color:#303b34; margin:28px 0 40px; text-align:left; }
.emo-portal h2 { font-size:32px; font-weight:600; margin:0 0 12px; line-height:1.2; }
.emo-portal h3 { font-size:21px; margin:0 0 8px; }
.emo-intro { max-width:760px; color:#56655b; margin:0 0 24px; }
.emo-steps { display:flex; flex-wrap:wrap; gap:12px 28px; padding:0; margin:0 0 28px; list-style:none; font-size:14px; color:#69756e; counter-reset:steps; }
.emo-steps li { display:flex; align-items:center; gap:8px; counter-increment:steps; }
.emo-steps li::before { content:counter(steps); display:inline-grid; place-items:center; width:26px; height:26px; border:1px solid #c6cec8; border-radius:50%; font-size:12px; }
.emo-steps .done::before { content:'✓'; border-color:#287b50; background:#287b50; color:#fff; }
.emo-steps .current { color:#1e603d; font-weight:600; }
.emo-steps .current::before { border:2px solid #287b50; }
.emo-document { background:#fff; margin:0 0 12px; border:1px solid var(--emo-border,#dfe6e0); box-shadow:0 3px 12px #142d1c0a; }
.emo-document summary { display:flex; align-items:center; gap:14px; padding:19px 20px; cursor:pointer; list-style:none; font-size:16px; font-weight:500; }
.emo-document summary::-webkit-details-marker { display:none; }
.emo-document summary::before { content:''; width:8px; height:8px; border-right:2px solid #617368; border-bottom:2px solid #617368; transform:rotate(45deg); flex-shrink:0; margin-right:3px; }
.emo-document[open]>summary::before { transform:rotate(225deg); }
.emo-document summary span { margin-left:auto; font-size:12px; font-weight:400; color:#69756e; }
.emo-document[open]>summary { border-bottom:1px solid #dfe6e0; }
.emo-pdf { display:flex; flex-direction:column; width:100%; height:640px; background:#525659; }
.emo-pdf-toolbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; min-height:52px; padding:6px 14px; background:#323639; color:#f1f1f1; font-size:13px; box-shadow:0 1px 4px #0006; position:relative; z-index:1; }
.emo-pdf-title { display:flex; align-items:center; gap:8px; min-width:0; font-weight:500; }
.emo-pdf-title span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.emo-pdf-center { display:flex; align-items:center; gap:6px; }
.emo-pdf-actions { display:flex; justify-content:flex-end; gap:4px; }
.emo-pdf-toolbar button,.emo-pdf-actions a { display:inline-grid; place-items:center; width:34px; height:34px; min-height:0!important; padding:0!important; margin:0!important; border:0!important; border-radius:50%!important; background:transparent!important; color:#f1f1f1!important; box-shadow:none!important; cursor:pointer; line-height:1; }
.emo-pdf-toolbar button:hover:not(:disabled),.emo-pdf-actions a:hover { background:#ffffff1f!important; }
.emo-pdf-toolbar button:disabled { opacity:.35; cursor:default; }
.emo-pdf-toolbar [data-fit][aria-pressed="true"] { background:#ffffff26!important; }
.emo-pdf-pageno input { width:44px!important; height:28px; margin:0!important; padding:0 4px!important; border:0!important; border-radius:2px!important; background:#191b1c!important; color:#fff!important; text-align:center; font-size:13px; -moz-appearance:textfield; appearance:textfield; }
.emo-pdf-pageno input::-webkit-inner-spin-button,.emo-pdf-pageno input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.emo-pdf-of { white-space:nowrap; }
.emo-pdf-sep { width:1px; height:20px; margin:0 8px; background:#ffffff40; }
.emo-pdf-zoom { min-width:52px; padding:5px 0; border-radius:2px; background:#191b1c; text-align:center; font-variant-numeric:tabular-nums; }
.emo-pdf-scroll { position:relative; flex:1; min-height:0; overflow:auto; padding:16px; overscroll-behavior:contain; }
.emo-pdf-pages { display:flex; flex-direction:column; align-items:center; gap:12px; width:max-content; min-width:100%; margin:0 auto; }
.emo-pdf-page { flex-shrink:0; background:#fff; box-shadow:0 2px 10px #0006; }
.emo-pdf-page canvas { display:block; width:100%!important; height:100%!important; max-width:none; }
.emo-pdf-status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; margin:0; color:#e8e8e8; font-size:14px; }
.emo-pdf-status a { color:#fff; }
.emo-spinner { width:18px; height:18px; border:2px solid #ffffff40; border-top-color:#fff; border-radius:50%; animation:emo-spin .8s linear infinite; }
@keyframes emo-spin { to { transform:rotate(360deg); } }
.emo-pdf-error { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; color:#f1f1f1; }
.emo-pdf-error p { margin:0 0 8px; color:#f1f1f1; }.emo-pdf-error .button { margin-top:12px; }
.emo-pdf [hidden] { display:none!important; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.emo-legal { max-height:520px; overflow:auto; padding:24px 30px; font-size:14px; line-height:1.65; }
.emo-legal h1 { font-size:22px; }.emo-legal h2 { font-size:17px; margin-top:25px; }
.emo-legal .numbered { padding-left:48px; position:relative; }.emo-legal .number { position:absolute; left:0; white-space:nowrap; }
.emo-signing { margin:28px auto 0; max-width:800px; text-align:center; }
.emo-signing>p { color:#56655b; }
.emo-signing .emo-consent { max-width:640px; margin:22px auto; }
.emo-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:760px; margin:8px auto 0; }
.emo-method { display:flex; align-items:center; gap:14px; min-height:64px; padding:12px 16px!important; margin:0!important; border:1px solid #dfe6e0!important; border-radius:3px!important; background:#fff!important; color:#303b34!important; box-shadow:0 3px 12px #142d1c14; text-align:left; cursor:pointer; transition:border-color .15s, box-shadow .15s, transform .15s; font:inherit; }
.emo-method:hover:not(:disabled) { border-color:#287b50!important; box-shadow:0 6px 18px #142d1c24; transform:translateY(-1px); }
.emo-method:disabled { opacity:.55; cursor:not-allowed; }
.emo-method-mark { flex-shrink:0; font-weight:700; font-size:15px; letter-spacing:.02em; white-space:nowrap; }
.emo-method-mobiil .emo-method-mark { color:#1a3d7c; }
.emo-method-smart .emo-method-mark { color:#16a295; text-transform:uppercase; font-size:13px; letter-spacing:.12em; }
.emo-method-idkaart .emo-method-mark { color:#1a3d7c; }
.emo-method-text { font-size:12px; line-height:1.35; color:#69756e; }
.emo-consent { display:flex; text-align:left; align-items:flex-start; gap:10px; margin:22px 0; font-size:14px; line-height:1.55; }
.emo-consent input { flex-shrink:0; margin:5px 0 0; width:17px; height:17px; accent-color:#287b50; }
.emo-portal .button { border-radius:2px!important; font-weight:600; padding:13px 24px!important; }
.emo-portal .emo-primary { background:#287b50!important; color:#fff!important; border:1px solid #287b50!important; }
.emo-portal .emo-primary:hover { background:#1e603d!important; }
.emo-portal .emo-primary:disabled { opacity:.55; cursor:not-allowed; }
.emo-portal :focus-visible { outline:3px solid #5383b8; outline-offset:3px; }
.emo-action { margin:16px 0; }.emo-help { font-size:12px; max-width:650px; margin:22px auto 0; }
.emo-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.emo-fields label { display:block; font-size:14px; margin-bottom:7px; }
.emo-fields input { display:block; box-sizing:border-box; width:100%; margin-top:7px; padding:12px!important; border:1px solid #bdc8c0!important; border-radius:2px; background:#fff; }
.emo-fields input[readonly] { background:#f1f4f1; color:#56655b; }
.emo-party-choice { display:flex; flex-wrap:wrap; gap:16px 28px; border:0; padding:0; margin:24px 0; }
.emo-party-choice legend { font-weight:600; margin-bottom:12px; }.emo-party-choice label { display:flex; align-items:center; gap:8px; cursor:pointer; }
.emo-party-choice input { accent-color:#287b50; width:18px; height:18px; }
.emo-company-fields { border:1px solid #dfe6e0; padding:20px; margin:0 0 24px; }.emo-company-fields[hidden] { display:none; }.emo-company-fields legend { font-weight:600; padding:0 6px; }
.emo-fields select { width:100%; border:1px solid #bdc8c0; padding:12px; border-radius:2px; background:#fff; }.emo-address-help { font-size:14px; color:#56655b; }
.emo-preview-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }.emo-party-label { margin:0 0 18px; font-size:14px; }
.emo-review-status { border-left:3px solid #a07425; padding:16px 20px; margin-top:24px; background:#faf8f2; }
.emo-profile { text-align:left; max-width:780px; }.emo-correction { text-align:left; margin:24px 0; }.emo-correction>summary { cursor:pointer; font-size:14px; text-decoration:underline; }.emo-correction h2 { margin-top:20px; font-size:24px; }
.emo-confirmed { color:#1e603d; font-weight:600; }.emo-admin-note { padding:12px; border:1px dashed #aab8ad; font-size:13px; }
@media(max-width:640px) { .emo-portal h2 { font-size:27px; }.emo-fields { grid-template-columns:1fr; }.emo-steps { gap:10px 18px; font-size:12px; }.emo-document summary { padding:16px 12px; font-size:14px; }.emo-document summary span { display:none; }.emo-pdf { height:70vh; min-height:420px; }.emo-pdf-toolbar { grid-template-columns:1fr auto; padding:6px 8px; }.emo-pdf-title { display:none; }.emo-pdf-sep { margin:0 2px; }.emo-pdf-scroll { padding:8px; }.emo-legal { padding:18px; }.emo-methods { grid-template-columns:1fr; }.woocommerce-account .woocommerce-MyAccount-navigation a { padding:11px 13px; font-size:13px; } }

/* eID login on our own page: Smart-ID, Mobiil-ID, ID-kaart. */
.emo-eid-entry:has(.emo-eid) { max-width:32rem; margin-inline:auto; }
.emo-eid { margin:1.4rem 0 0; color:var(--emo-ink,#26332f); }
.emo-eid [hidden] { display:none!important; }
.emo-eid-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:.25rem; margin:0 0 1.4rem; padding:.25rem; border-radius:.6rem; background:var(--emo-soft,#e8f1f0); }
.emo-eid-tabs button { min-height:2.75rem; padding:.4rem .3rem; border:0; border-radius:.45rem; background:transparent; color:var(--emo-head,#023b34); font:inherit; font-family:var(--emo-font-head,inherit); font-size:.92rem; font-weight:700; cursor:pointer; }
.emo-eid-tabs button:hover { background:#ffffff80; }
.emo-eid-tabs button[aria-selected="true"] { background:var(--emo-teal,#005953); color:#fff; }
.emo-eid-tabs button:focus-visible, .emo-eid-submit:focus-visible, .emo-eid-cancel:focus-visible { outline:2px solid var(--emo-rust,#a65a29); outline-offset:2px; }
.emo-eid-field { margin:0 0 1rem; }
.emo-eid-field label { display:block; margin:0 0 .35rem; font-weight:700; font-size:.92rem; }
.emo-eid-field input { box-sizing:border-box; width:100%; height:3rem; padding:0 .85rem; border:1px solid #c4d0cc; border-radius:.45rem; background:#fff; color:inherit; font:inherit; font-size:1.05rem; }
.emo-eid-field input:focus { border-color:var(--emo-teal,#005953); outline:2px solid #00595333; }
.emo-eid-phone { display:flex; align-items:stretch; }
.emo-eid-phone > span { display:flex; align-items:center; padding:0 .8rem; border:1px solid #c4d0cc; border-right:0; border-radius:.45rem 0 0 .45rem; background:var(--emo-soft-2,#f4f8f7); font-size:1.05rem; }
.emo-eid-phone input { min-width:0; border-radius:0 .45rem .45rem 0; }
.emo-eid-hint { margin:0 0 1.2rem; }
.emo-eid-submit { width:100%; min-height:3rem; padding:.7rem 1rem; border:0; border-radius:.45rem; background:var(--emo-teal,#005953); color:#fff; font:inherit; font-family:var(--emo-font-head,inherit); font-weight:700; cursor:pointer; }
.emo-eid-submit:hover { background:var(--emo-teal-hover,#00706a); }
.emo-eid-wait { text-align:center; }
.emo-eid-spinner { display:block; width:1.9rem; height:1.9rem; margin:.4rem auto 1rem; border:3px solid var(--emo-soft,#e8f1f0); border-top-color:var(--emo-teal,#005953); border-radius:50%; animation:emo-eid-spin .9s linear infinite; }
@keyframes emo-eid-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .emo-eid-spinner { animation-duration:3s; } }
.emo-eid-challenge span { display:block; color:var(--emo-muted,#6d7874); font-size:.9rem; }
.emo-eid-challenge strong { display:block; margin:.1rem 0 .6rem; color:var(--emo-head,#023b34); font-family:var(--emo-font-head,inherit); font-size:2.6rem; font-weight:800; letter-spacing:.14em; line-height:1.2; }
.emo-eid-wait-text { margin:0 0 1.2rem; }
.emo-eid-cancel { min-height:2.75rem; padding:.4rem 1.2rem; border:1px solid #c4d0cc; border-radius:.45rem; background:#fff; color:var(--emo-ink,#26332f); font:inherit; font-weight:600; cursor:pointer; }
.emo-eid-cancel:hover { background:var(--emo-soft-2,#f4f8f7); }
.emo-eid-error { margin:1rem 0 0; padding:.75rem .9rem; border-left:3px solid var(--emo-red,#d1342b); border-radius:.3rem; background:#fdf0ef; color:#8f231c; font-size:.95rem; }
.emo-eid-fallback { margin:.8rem 0 0; font-size:.95rem; }
.emo-eid-fallback a { color:var(--emo-teal,#005953)!important; font-weight:700; }
@media (max-width:30rem) { .emo-eid-tabs button { font-size:.85rem; } }
.emo-eid-entry #emo-eid-entry-title { font-size:clamp(1.35rem,3.2vw,1.7rem); line-height:1.2; }
