/* Shared controls across standalone tools and planning workspaces. */
.service-page-path{box-sizing:border-box;max-width:1180px;margin:12px auto 0!important;padding:0 22px!important;font:14px/1.5 system-ui,sans-serif}
.service-page-path a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.service-login-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:480px;max-height:90dvh;overflow:auto;border:1px solid #dedfd5;border-radius:16px;padding:24px;background:#fbfaf7;color:#343d34;font:16px/1.55 system-ui,sans-serif}
.service-login-dialog::backdrop{background:#18201580}
.service-login-dialog h2{font:normal 28px/1.2 Georgia,serif;margin:0 0 12px}
.service-login-dialog label{display:grid;gap:6px;margin:14px 0}
.service-login-dialog input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #87947e;border-radius:10px;font:inherit}
.service-login-dialog button,[data-service-login]{box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid #53664b;border-radius:10px;background:#53664b;color:white;font:600 15px/1.4 system-ui,sans-serif;cursor:pointer;white-space:normal}
.service-login-dialog .secondary{margin:6px 6px 0 0;background:white;color:#344031}
.service-login-dialog :is(button,input):focus-visible{outline:3px solid #b8798b;outline-offset:3px}
.service-login-dialog [role=status]:empty{display:none}
.service-login-dialog button:disabled{opacity:.6;cursor:wait}
body #pq>nav[aria-label="Välj verktyg"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body #pq>nav button{min-height:44px;border:1px solid #87947e;border-radius:10px;background:#fffaf8;color:#344031;white-space:normal;font:600 14px/1.4 system-ui,sans-serif}
body #pq>nav button[aria-pressed=true]{background:#53664b;color:white;border-color:#53664b}
body #bar-result{scroll-margin-top:16px}
body #bar-result:focus{outline:2px solid #87947e;outline-offset:3px}
.service-info-fold{margin:16px 0;border:1px solid #dedfd5;border-radius:12px;padding:12px 16px;background:white}
.service-info-fold>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;color:#344031}
[hidden]{display:none!important}
@media(max-width:600px){body #pq>nav[aria-label="Välj verktyg"]{grid-template-columns:repeat(2,minmax(0,1fr))}.service-login-dialog{padding:20px}.service-page-path{padding-inline:18px!important}}
@media print{.service-page-path,.service-login-dialog{display:none!important}}
.service-info-fold>summary h2{display:inline;font:600 18px/1.4 system-ui,sans-serif!important;letter-spacing:0!important;margin:0!important}
.service-info-fold[id]{scroll-margin-top:16px}

/* Consistent spacing and touch targets for action groups throughout the portal. */
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;margin:0;padding:10px 14px;border-radius:10px;font:600 14px/1.4 system-ui,sans-serif;white-space:normal;text-align:center;overflow-wrap:anywhere}
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a):focus-visible{outline:3px solid #ad654b;outline-offset:3px}
@media(max-width:650px){body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a){flex:1 1 140px;max-width:100%}}

/* UX94: shared geometry leaves existing danger, active and disabled colours intact. */
body main :is(button,.button,.primary-link,.secondary-link),
body main :is(.local-service-nav,.local-service-menu,.tabs,.subtools) a{
 box-sizing:border-box;min-width:44px;min-height:44px;max-width:100%;border-radius:10px;
 font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;
}
body main :is(.primary,.primary-link):not(.danger):not(.destructive):not(:disabled):not([aria-disabled=true]){
 border-color:#53664b;background:#53664b;color:#fff;
}
body main :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible,
.service-login-dialog :is(button,a,input,select,textarea):focus-visible{
 outline:3px solid #9a4d69;outline-offset:3px;
}
/* Navigation focuses content for screen readers without framing the new page. */
body :is(main,[role=main])[tabindex="-1"]:focus,
body main :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:focus{
 outline:none;
}
body main :is(button,a)[aria-current=page],body main button[aria-pressed=true]{font-weight:700}
body main :is(button,input,select,textarea):disabled,
body main :is(button,a)[aria-disabled=true]{cursor:not-allowed}
body main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select){box-sizing:border-box;min-height:44px;font-size:16px}
body main summary{box-sizing:border-box;min-height:44px;padding-block:10px;cursor:pointer;line-height:1.45}
body main :is(.card,.mb-card,.mn-card,.bip-card){box-sizing:border-box;border-radius:12px;padding:16px}
body main :is(.cards,.card-grid,.mb-grid,.mn-grid,.bip-grid){gap:16px}
@media(max-width:650px){
 body main :is(small,.muted,.mb-muted,.mb-help,.mb-recipe-note,.help,.help-text){font-size:14px;line-height:1.5}
 body main :is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:44px;align-content:center}
 body main :is(.card,.mb-card,.mn-card,.bip-card){padding:14px}
}
@media(forced-colors:active){body main :is(button,a,input,select,textarea,summary):focus-visible{outline-color:Highlight}}

/* Keep the shared skip link available to keyboards without taking header space. */
.service-skip-link{position:fixed;top:12px;left:12px;z-index:2147483647;max-width:calc(100vw - 24px);box-sizing:border-box;min-height:44px;padding:12px 16px;border:2px solid #344031;border-radius:8px;background:#fff;color:#263122;font:600 16px/1.4 system-ui,sans-serif;transform:translateY(calc(-100% - 24px))}
.service-skip-link:focus{transform:none;outline:3px solid #b8798b;outline-offset:3px}

/* Compact, shared bar tools and package purchase cards. */
[data-bar-packages], [data-wedding-bar-panel]{min-width:0}
.bar-tool-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px;margin:16px 0}
.bar-tool-actions button{margin:0!important;min-height:44px;padding:10px 12px!important;font-size:13px!important;line-height:1.35;border-radius:10px!important;background:#fff!important;color:var(--accent,#53634a)!important;border:1px solid var(--line,#dce1d6)!important;width:100%;text-align:center}
.bar-package-card{display:block!important;background:#fff;border:1px solid var(--line,#dce1d6);border-radius:12px;padding:14px;margin:12px 0!important;min-width:0}
.bar-package-heading{display:flex;align-items:center;gap:12px}.bar-package-heading img{object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0}.bar-package-heading strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.bar-package-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0;font-size:13px;line-height:1.5}
.bar-package-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}.bar-package-actions button{width:100%;min-height:44px;margin:0!important;padding:10px 8px!important;font-size:13px!important;line-height:1.3;border-radius:10px!important}.bar-package-actions .primary{background:var(--accent,#53634a)!important;color:#fff!important;border:1px solid var(--accent,#53634a)!important}.bar-package-actions .secondary{background:#f6f7f2!important;border:1px solid var(--line,#dce1d6)!important;color:var(--accent,#53634a)!important}.bar-package-saved{display:flex;align-items:center;justify-content:center;color:var(--accent,#53634a);font-size:12px;text-align:center;padding:6px}.bar-package-card [data-bar-buy-status]:empty{display:none}.bar-package-card [data-bar-buy-status]{margin:8px 0 0;font-size:12px}.bar-package-actions button:disabled{opacity:.65;cursor:wait}

/* Compact invitation choices in the guest editor. */
.wg-invite-choice{margin:16px 0;padding:14px;border:1px solid #dedfd5;border-radius:12px;background:#f1f3ed}.wg-invite-choice h3{margin:0 0 6px;font:600 17px/1.4 system-ui,sans-serif}.wg-invite-choice p{margin:0 0 12px}.wg-invite-choice button{width:100%;min-height:44px}
body #dialog :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:focus{outline:none}

.service-login-dialog .portal-shop-continue{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid #53664b;border-radius:10px;background:#53664b;color:white;font:600 15px/1.4 system-ui,sans-serif;text-decoration:none;margin:6px 6px 0 0}
