@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base {@keyframes astroFadeInOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes astroFadeIn {
	from {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroFadeOut {
	from {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroSlideFromRight {
	from {
		transform: translateX(100%);
	}
}

@keyframes astroSlideFromLeft {
	from {
		transform: translateX(-100%);
	}
}

@keyframes astroSlideToRight {
	to {
		transform: translateX(100%);
	}
}

@keyframes astroSlideToLeft {
	to {
		transform: translateX(-100%);
	}
}

@media (prefers-reduced-motion) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}

	[data-astro-transition-scope] {
		animation: none !important;
	}
}
}
@layer nordic-base, nordic-authored, nordic-custom;
@layer nordic-base, nordic-authored, nordic-custom;
@layer nordic-base {
	/* Route announcer */
	.astro-route-announcer {
		position: absolute;
		left: 0;
		top: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		overflow: hidden;
		white-space: nowrap;
		width: 1px;
		height: 1px;
	}
}
@layer nordic-base{}@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base{#cc-main{background:transparent;color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.15;position:relative;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;position:fixed;z-index:var(--cc-z-index)}#cc-main :after,#cc-main :before,#cc-main a,#cc-main button,#cc-main div,#cc-main h2,#cc-main input,#cc-main p,#cc-main span{all:unset;box-sizing:border-box}#cc-main .pm__badge,#cc-main button{all:initial;box-sizing:border-box;color:unset;visibility:unset}#cc-main .pm__badge,#cc-main a,#cc-main button,#cc-main input{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;font-size:100%;line-height:normal;margin:0;outline:revert;outline-offset:2px;overflow:hidden}#cc-main table,#cc-main tbody,#cc-main td,#cc-main th,#cc-main thead,#cc-main tr{all:revert;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}:root{--cc-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--cc-modal-border-radius:.5rem;--cc-btn-border-radius:.4rem;--cc-modal-transition-duration:.25s;--cc-link-color:var(--cc-btn-primary-bg);--cc-modal-margin:1rem;--cc-z-index:2147483647;--cc-bg:#fff;--cc-primary-color:#2c2f31;--cc-secondary-color:#5e6266;--cc-btn-primary-bg:#30363c;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#000;--cc-btn-primary-hover-color:#fff;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#eaeff2;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#d4dae0;--cc-btn-secondary-hover-color:#000;--cc-btn-secondary-hover-border-color:#d4dae0;--cc-separator-border-color:#f0f4f7;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#667481;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:var(--cc-toggle-on-knob-bg);--cc-toggle-enabled-icon-color:var(--cc-bg);--cc-toggle-disabled-icon-color:var(--cc-bg);--cc-toggle-readonly-bg:#d5dee2;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:var(--cc-cookie-category-block-bg);--cc-cookie-category-block-bg:#f0f4f7;--cc-cookie-category-block-border:#f0f4f7;--cc-cookie-category-block-hover-bg:#e9eff4;--cc-cookie-category-block-hover-border:#e9eff4;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:#dee4e9;--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:var(--cc-btn-secondary-bg);--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#e4eaed;--cc-pm-toggle-border-radius:4em}#cc-main.cc--rtl{direction:rtl}#cc-main .cm__title,#cc-main a,#cc-main b,#cc-main em,#cc-main strong{font-weight:600}#cc-main button>span{pointer-events:none}#cc-main .cc__link,#cc-main a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;font-weight:600;position:relative;transition:background-size .25s,color .25s ease}#cc-main .cc__link:hover,#cc-main a:hover{background-size:100% 1px;color:var(--cc-primary-color)}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{overscroll-behavior:auto contain;scrollbar-width:thin}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-thumb,#cc-main ::-webkit-scrollbar-track{all:revert}#cc-main ::-webkit-scrollbar-thumb{-webkit-background-clip:padding-box;background-clip:padding-box;background:var(--cc-toggle-readonly-bg);border:.25rem solid var(--cc-bg);border-radius:1rem}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}.cc--darkmode{--cc-bg:#161a1c;--cc-primary-color:#ebf3f6;--cc-secondary-color:#aebbc5;--cc-btn-primary-bg:#c2d0e0;--cc-btn-primary-color:var(--cc-bg);--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#98a7b6;--cc-btn-primary-hover-color:#000;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#242c31;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#353d43;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:var(--cc-btn-secondary-hover-bg);--cc-separator-border-color:#222a30;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#525f6b;--cc-toggle-on-knob-bg:var(--cc-btn-primary-color);--cc-toggle-off-knob-bg:var(--cc-btn-primary-color);--cc-toggle-enabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-disabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-readonly-bg:#343e45;--cc-toggle-readonly-knob-bg:#5f6b72;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:#1e2428;--cc-cookie-category-block-bg:#1e2428;--cc-cookie-category-block-border:var(--cc-section-category-border);--cc-cookie-category-block-hover-bg:#242c31;--cc-cookie-category-block-hover-border:#232a2f;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:var(--cc-toggle-readonly-bg);--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:#0c0e0f;--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#060809}.cc--darkmode #cc-main{color-scheme:dark}#cc-main .cm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;max-width:24rem;opacity:0;overflow:hidden;position:fixed;transform:translateY(1.6em);visibility:hidden;z-index:1}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);margin:0 auto;right:var(--cc-modal-margin);width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{margin-left:var(--cc-modal-margin);right:var(--cc-modal-margin)}#cc-main .cm__body{display:flex;flex-direction:column;justify-content:space-between;position:relative}#cc-main .cm__btns,#cc-main .cm__links{padding:1rem 1.3rem;width:unset}#cc-main .cm__texts{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem 0 0}#cc-main .cm__desc,#cc-main .cm__title{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);font-size:.9em;line-height:1.5;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{border-top:1px solid var(--cc-separator-border-color);display:flex;flex-direction:column;justify-content:center}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0,1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .cm--inline .cm__btn+.cm__btn{margin-left:.375rem;margin-top:0}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-right:0}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven,#cc-main .cm--wide .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven,#cc-main .cm--wide.cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);font-size:.82em;font-weight:600;min-height:42px;padding:.5em 1em;text-align:center}#cc-main .cm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .cm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close{border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-right:none;border-top:none;display:none;font-size:1em;height:42px;min-width:auto!important;overflow:hidden;padding:0!important;position:absolute;right:0;top:0;width:42px}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);color:var(--cc-footer-color);padding:.4em 0 .5em}#cc-main .cm__links{display:flex;flex-direction:row;padding-bottom:0;padding-top:0}#cc-main .cm__link-group{display:flex;flex-direction:row;font-size:.8em;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-left:1.8em;padding-right:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{max-width:54em;width:unset}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-left:1px solid var(--cc-separator-border-color);border-top:none;max-width:23em}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btn-group,#cc-main .cm--cloud.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{border-radius:0;left:0;margin:0;max-width:unset;opacity:1;right:0;transform:translateY(0);width:100vw;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0;transform:translateY(-100%)}#cc-main .cm--bar.cm--bottom{bottom:0;transform:translateY(100%)}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{margin:0 auto;max-width:55em;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--bar .cm__btn{min-width:120px;padding-left:2em;padding-right:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{flex-direction:row;padding:0}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper:before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__btn,#cc-main .cc--anim .cm__close{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper:before{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:0}.show--consent #cc-main .cc--anim .cm{opacity:1;transform:translateY(0);visibility:visible!important}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper:before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius);left:0;right:unset}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-left:3rem!important;padding-right:1.3rem}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__btns,#cc-main .cm__desc,#cc-main .cm__links,#cc-main .cm__title{padding-left:1.1rem!important;padding-right:1.1rem!important}#cc-main .cm__btns{border-left:none!important;border-top:1px solid var(--cc-separator-border-color)!important;flex-direction:column!important;max-width:none!important;min-width:auto!important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:.375rem 0 0!important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btn-group,#cc-main .cm--flip .cm__btns{flex-direction:column-reverse!important}}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:fixed;visibility:hidden;width:100%;width:unset;z-index:1}#cc-main svg{fill:none;width:100%}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:1em 1.4em}#cc-main .pm__header{align-items:center;border-bottom:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__title{align-items:center;display:flex;flex:1;font-weight:600;margin-right:2em}#cc-main .pm__close-btn{background:var(--cc-btn-secondary-bg);border:1px solid var(--cc-btn-secondary-border-color);border-radius:var(--cc-btn-border-radius);height:40px;position:relative;transition:all .15s ease;width:40px}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{border-radius:var(--cc-btn-border-radius);display:flex;flex-direction:column;margin-bottom:.5em}#cc-main .pm__section--toggle .pm__section-desc-wrapper{border:1px solid var(--cc-cookie-category-block-border);border-radius:var(--cc-btn-border-radius);border-top:none;border-top-left-radius:0;border-top-right-radius:0;display:none;margin-top:0!important;overflow:hidden}#cc-main .pm__section{border:1px solid var(--cc-separator-border-color);padding:1em;transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{border:none;margin-bottom:2em;margin-top:0;padding:0;transition:none}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{align-items:center;background:var(--cc-cookie-category-block-bg);border:1px solid var(--cc-cookie-category-block-border);display:flex;justify-content:space-between;min-height:58px;padding:1.1em 5.4em 1.1em 1.2em;position:relative;transition:background-color .25s ease,border-color .25s ease;width:100%}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc{margin-top:0;padding:1em}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{cursor:pointer;padding-left:3.4em}#cc-main .pm__section--expandable .pm__section-arrow{background:var(--cc-toggle-readonly-bg);border-radius:100%;display:flex;height:20px;justify-content:center;left:18px;pointer-events:none;position:absolute;width:20px}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{align-items:center;display:flex;position:relative}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{border-radius:var(--cc-btn-border-radius);font-size:.95em;font-weight:600}#cc-main .pm__badge{align-items:center;background:var(--cc-btn-secondary-bg);border-radius:5em;color:var(--cc-secondary-color);display:flex;flex:none;font-size:.8em;font-weight:600;height:23px;justify-content:center;margin-left:1em;min-width:23px;overflow:hidden;padding:0 .6em 1px;position:relative;text-align:center;white-space:nowrap;width:auto}#cc-main .pm__service-counter{background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color);padding:0;width:23px}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px;width:auto}#cc-main .section__toggle,#cc-main .section__toggle-wrapper,#cc-main .toggle__icon,#cc-main .toggle__label{border-radius:var(--cc-pm-toggle-border-radius);height:23px;transform:translateZ(0);width:50px}#cc-main .section__toggle-wrapper{cursor:pointer;position:absolute;right:18px;z-index:1}#cc-main .toggle-service{height:19px;position:relative;right:0;width:42px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{height:19px;width:42px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper:after{display:none!important}#cc-main .section__toggle{border:0;cursor:pointer;display:block;left:0;margin:0;position:absolute;top:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);display:flex;flex-direction:row;pointer-events:none;position:absolute;transition:all .25s ease}#cc-main .toggle__icon-circle{background:var(--cc-toggle-off-knob-bg);border:none;border-radius:var(--cc-pm-toggle-border-radius);box-shadow:0 1px 2px rgba(24,32,3,.36);display:block;height:23px;left:0;position:absolute;top:0;transition:transform .25s ease,background-color .25s ease;width:23px}#cc-main .toggle__icon-off,#cc-main .toggle__icon-on{height:100%;position:absolute;transition:opacity .15s ease;width:100%}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{background-color:var(--cc-toggle-on-knob-bg);transform:translateX(27px)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:-1}#cc-main .pm__section-desc-wrapper{color:var(--cc-secondary-color);display:flex;flex-direction:column;font-size:.9em}#cc-main .pm__section-desc-wrapper>:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{align-items:center;display:flex;justify-content:space-between;padding:.4em 1.2em;position:relative;transition:background-color .15s ease}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{align-items:center;display:flex;margin-right:1em;width:100%}#cc-main .pm__service-icon{border:2px solid;border-radius:100%;height:8px;margin-left:6px;margin-right:20px;margin-top:1px;min-width:8px}#cc-main .pm__service-title{font-size:.95em;width:100%;word-break:break-word}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{border-collapse:collapse;font-size:.9em;margin:0;overflow:hidden;padding:0;text-align:left;width:100%}#cc-main .pm__table-caption{text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{border-bottom:1px dashed var(--cc-separator-border-color);color:var(--cc-primary-color);font-weight:600}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th{padding:.625em .625em .625em 1.2em;vertical-align:top}#cc-main .pm__footer{border-top:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);flex:auto;font-size:.82em;font-weight:600;min-height:42px;min-width:110px;padding:.5em 1.5em;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{height:calc(100% - 2em);left:var(--cc-modal-margin);margin:0 auto;max-height:37.5em;max-width:43em;right:var(--cc-modal-margin);top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--box.pm--flip .pm__btn-group,#cc-main .pm--box.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm--bar{border-radius:0;bottom:0;height:100%;margin:0;max-height:none;max-width:29em;opacity:1;top:0;width:100%;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-td,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-tr{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-caption{display:block}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__header{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__btn-group,#cc-main .pm--bar:not(.pm--wide) .pm__footer{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin:.375rem 0 0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0;transform:translateX(-100%)}#cc-main .pm--bar.pm--right{right:0;transform:translateX(100%)}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer,#cc-main .pm--bar.pm--wide .pm__header{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group,#cc-main .pm--bar.pm--wide.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm-overlay{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:1}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-left:1em;margin-right:0}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{left:18px;right:unset;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-left:20px;margin-right:5px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-td,#cc-main.cc--rtl .pm__table-th{padding-left:unset;padding-right:1.2em;text-align:right}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td:before{padding-left:2em;padding-right:unset}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-left:0}@media screen and (max-width:640px){#cc-main .pm{border-radius:0;bottom:0;height:auto;left:0;max-height:100%;max-width:none!important;right:0;top:0;transform:translateY(1.6em)}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:.9em!important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th,#cc-main .pm__table-tr{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__btn-group,#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:.375rem 0 0!important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .pm--flip .pm__btn-group,#cc-main .pm--flip .pm__footer{flex-direction:column-reverse!important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0)!important}}}@layer nordic-base, nordic-authored, nordic-custom;
@layer nordic-base {/* Vanilla CookieConsent keeps its behaviour; the shared popup primitives own
   the surface and backdrop. All colours and type come from Nordic's tokens. */
#cc-main {
  --cc-font-family: var(--font-body);
  --cc-modal-border-radius: var(--button-radius);
  --cc-btn-border-radius: var(--button-radius);
  --cc-modal-transition-duration: 180ms;
  --cc-modal-margin: 16px;
  --cc-bg: var(--cream);
  --cc-primary-color: var(--ink);
  --cc-secondary-color: var(--ink);
  --cc-link-color: var(--ink);
  --cc-btn-primary-bg: var(--primary);
  --cc-btn-primary-color: var(--cream);
  --cc-btn-primary-border-color: var(--primary);
  --cc-btn-primary-hover-bg: var(--ink);
  --cc-btn-primary-hover-color: var(--cream);
  --cc-btn-primary-hover-border-color: var(--ink);
  --cc-btn-secondary-bg: var(--sand);
  --cc-btn-secondary-color: var(--ink);
  --cc-btn-secondary-border-color: var(--sand);
  --cc-btn-secondary-hover-bg: var(--beige);
  --cc-btn-secondary-hover-color: var(--ink);
  --cc-btn-secondary-hover-border-color: var(--beige);
  --cc-separator-border-color: var(--line);
  --cc-toggle-on-bg: var(--primary);
  --cc-toggle-off-bg: var(--sand);
  --cc-toggle-on-knob-bg: var(--paper);
  --cc-toggle-off-knob-bg: var(--paper);
  --cc-toggle-enabled-icon-color: var(--paper);
  --cc-toggle-disabled-icon-color: var(--paper);
  --cc-toggle-readonly-bg: var(--primary);
  --cc-toggle-readonly-knob-bg: var(--paper);
  --cc-toggle-readonly-knob-icon-color: var(--ink);
  --cc-section-category-border: var(--line);
  --cc-cookie-category-block-bg: var(--paper);
  --cc-cookie-category-block-border: var(--line);
  --cc-cookie-category-block-hover-bg: var(--paper);
  --cc-cookie-category-block-hover-border: var(--line);
  --cc-cookie-category-expanded-block-bg: var(--paper);
  --cc-cookie-category-expanded-block-hover-bg: var(--line);
  --cc-overlay-bg: var(--popup-backdrop);
  --cc-footer-bg: var(--cream);
  --cc-footer-color: var(--ink);
  --cc-footer-border-color: var(--line);
  --cookie-padding: clamp(24px, 3.2vw, 36px);
  font: 400 16px/1.55 var(--font-body);
}

/* Both dialogs stay centred, including on phones. Scroll the consent card as
   a whole so its buttons remain reachable on small landscape viewports. */
#cc-main .cm.cm--box.cm--wide, #cc-main .pm.pm--box {
  left: max(16px, env(safe-area-inset-left));
  right: max(16px, env(safe-area-inset-right));
  top: 50%; bottom: auto; margin: 0 auto;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  transform: translateY(calc(-50% + 10px));
}
#cc-main .cm.cm--box.cm--wide { max-width: 560px; overflow-y: auto; overscroll-behavior: contain; }
#cc-main .cm__body { flex: 0 0 auto; }
#cc-main .cm__texts { padding-top: var(--cookie-padding); }
#cc-main .cm__title, #cc-main .cm__desc { padding-inline: var(--cookie-padding); }
#cc-main .cm__title, #cc-main .pm__title {
  font: 400 clamp(26px, 2.5vw, 34px)/1.15 var(--font-heading);
  letter-spacing: var(--heading-tracking); overflow-wrap: anywhere;
}
#cc-main .cm__title + .cm__desc { margin-top: 18px; }
#cc-main .cm__desc { max-height: none; overflow: visible; padding-bottom: 24px; font-size: 16px; line-height: 1.55; }
#cc-main .cm.cm--box.cm--wide .cm__btns {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; border-top: 0;
  padding: 0 var(--cookie-padding) var(--cookie-padding);
}
/* Flatten the library's two button groups into three equal columns. */
#cc-main .cm.cm--box.cm--wide .cm__btn-group,
#cc-main .pm__btn-group { display: contents !important; }
#cc-main :is(.cm__btn, .pm__btn)[data-role="all"] { order: 3; }
#cc-main :is(.cm__btn, .pm__btn)[data-role="necessary"] { order: 2; }
#cc-main :is(.cm__btn, .pm__btn):is([data-role="show"], [data-role="save"]) { order: 1; }
#cc-main .cm.cm--box.cm--wide .cm__btn,
#cc-main .pm__btn {
  min-width: 0; min-height: 46px; padding: 12px 16px;
  font: 400 var(--button-font-size)/var(--button-line-height) var(--font-body);
  overflow-wrap: anywhere;
}
#cc-main .cm.cm--box.cm--wide .cm__btn--close {
  top: 10px; right: 10px; width: 44px; height: 44px; min-height: 44px;
  border: 0; border-radius: var(--button-radius); background: transparent; color: var(--ink);
}
#cc-main .cm__btn--close svg, #cc-main .cm__btn--close:hover svg { stroke: var(--ink); }
#cc-main .cm__btn--close + .cm__texts .cm__title { padding-right: 64px; }
#cc-main .cm.cm--box.cm--wide .cm__btn + .cm__btn,
#cc-main .cm.cm--box.cm--wide .cm__btn-group + .cm__btn-group,
#cc-main .pm__btn + .pm__btn, #cc-main .pm__btn-group + .pm__btn-group { margin: 0; }
#cc-main .cm__footer { padding: 16px 0; }
#cc-main .cm__links { padding-inline: var(--cookie-padding); }
#cc-main .cm__link-group { gap: 12px 24px; flex-wrap: wrap; font-size: 16px; }
#cc-main .cm__link-group > * + * { margin: 0; }
#cc-main a, #cc-main .cc__link { font-weight: 400; text-decoration: underline; text-underline-offset: 3px; background-image: none; }

#cc-main .pm.pm--box { height: auto; max-width: 680px; }
#cc-main .pm__header, #cc-main .pm__body, #cc-main .pm__footer { padding: 24px var(--cookie-padding); }
#cc-main .pm__header, #cc-main .pm__footer { flex-shrink: 0; }
#cc-main .pm__title { margin-right: 16px; }
#cc-main .pm__close-btn { flex: none; width: 44px; height: 44px; background: transparent; border: 0; }
#cc-main .pm__body { min-height: 0; overscroll-behavior: contain; }
#cc-main .pm__section-desc-wrapper, #cc-main .pm__section-title,
#cc-main .pm__section-table, #cc-main .pm__service-title { font-size: 16px; }
#cc-main .pm__section-desc { line-height: 1.55; overflow-wrap: anywhere; }
#cc-main .pm__section-table { table-layout: fixed; overflow-wrap: anywhere; }
#cc-main .pm__footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
/* Keep arrows and scrollbars neutral; the vendor shares the switch token. */
#cc-main .pm__section--expandable .pm__section-arrow,
#cc-main ::-webkit-scrollbar-thumb { background: var(--sand); }
/* Keep the compact visual switch but give it a complete finger-sized target. */
#cc-main .section__toggle-wrapper, #cc-main .section__toggle { min-height: 44px; }
#cc-main .toggle__icon { top: 10px; }
#cc-main .toggle-service .toggle__icon { top: 12px; }
#cc-main :is(button, a, input):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.show--consent #cc-main .cc--anim .cm.cm--middle,
.show--preferences #cc-main .cc--anim .pm.pm--box { transform: translateY(-50%); }

@media (max-width: 640px) {
  #cc-main .cm.cm--box.cm--wide, #cc-main .pm.pm--box { max-width: 560px !important; border-radius: var(--button-radius); }
  #cc-main .cm__title, #cc-main .cm__desc, #cc-main .cm__links { padding-inline: var(--cookie-padding) !important; }
  #cc-main .cm__btn--close + .cm__texts .cm__title { padding-right: 64px !important; }
  #cc-main .cm.cm--box.cm--wide .cm__btns { padding-inline: var(--cookie-padding) !important; border-top: 0 !important; }
  #cc-main .cm.cm--box.cm--wide .cm__btns,
  #cc-main .pm__footer { grid-template-columns: minmax(0, 1fr); }
  #cc-main :is(.cm__btn, .pm__btn)[data-role="all"] { order: 1; }
  #cc-main :is(.cm__btn, .pm__btn):is([data-role="show"], [data-role="save"]) { order: 3; }
  #cc-main .cm.cm--box.cm--wide .cm__btn + .cm__btn,
  #cc-main .cm.cm--box.cm--wide .cm__btn-group + .cm__btn-group,
  #cc-main .pm__btn + .pm__btn, #cc-main .pm__btn-group + .pm__btn-group { margin: 0 !important; }
  #cc-main .pm__header, #cc-main .pm__body, #cc-main .pm__footer { padding: 20px var(--cookie-padding) !important; }
  .show--preferences #cc-main .cc--anim .pm.pm--box { transform: translateY(-50%) !important; }
}
@media (max-width: 360px) {
  #cc-main { --cookie-padding: 18px; }
  #cc-main .pm__title { font-size: 24px; margin-right: 10px; }
}
@media (max-height: 480px) {
  #cc-main { --cookie-padding: 20px; }
  /* There may be less room than the fixed header and action buttons need.
     Let the whole preferences card scroll instead of clipping its footer. */
  #cc-main .pm.pm--box { overflow-y: auto; overscroll-behavior: contain; }
  #cc-main .pm__body { flex: none; overflow: visible; }
  #cc-main .pm__header, #cc-main .pm__footer { padding-block: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #cc-main { --cc-modal-transition-duration: 0s; }
  #cc-main *, #cc-main *::before, #cc-main *::after { transition: none !important; }
}
@media (forced-colors: active) {
  #cc-main .cm, #cc-main .pm, #cc-main .cm__btn, #cc-main .pm__btn, #cc-main .pm__close-btn { outline: 1px solid CanvasText; }
  #cc-main :is(button, a, input):focus-visible { outline: 2px solid Highlight; }
  #cc-main .toggle__icon { outline: 1px solid CanvasText; }
}
}
@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base {.nsb-assistant { --assistant-bottom:20px; --assistant-safe-left:env(safe-area-inset-left,0px); --assistant-safe-right:env(safe-area-inset-right,0px); --assistant-safe-top:env(safe-area-inset-top,0px); --assistant-safe-bottom:env(safe-area-inset-bottom,0px); --assistant-ease:cubic-bezier(.23,1,.32,1); color:var(--ink); font:400 16px/24px var(--font-body); font-synthesis:none; }
.nsb-assistant *, .nsb-assistant *::before, .nsb-assistant *::after { box-sizing:border-box; }
.nsb-assistant [hidden] { display:none !important; }
.nsb-assistant :is(button,input,select,textarea) { font:inherit; }
.nsb-assistant :is(button,a,input:where([type=checkbox],[type=radio])):focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.nsb-assistant__dialog[data-keyboard-focus] :is(button,a,input:where([type=checkbox],[type=radio])):focus { outline:2px solid var(--primary); outline-offset:3px; }
.nsb-assistant button { cursor:pointer; font-weight:500; transition:background-color 160ms ease,transform 140ms var(--assistant-ease); }
.nsb-assistant button:active:not(:disabled) { transform:scale(.97); }
.nsb-assistant button:disabled { cursor:default; opacity:.55; }
.nsb-assistant a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.nsb-assistant p { margin:0; }
.nsb-assistant :is(h2,h3) { font-family:var(--font-heading); font-size:22px; line-height:28px; font-weight:400; margin:0; }
/* A short viewport can place the closed launcher over the sticky header (50).
   Keep it reachable there, below the open chat's backdrop (54) and panel (55). */
.nsb-assistant__dock { position:fixed; z-index:51; right:max(20px,env(safe-area-inset-right)); bottom:max(var(--assistant-bottom),env(safe-area-inset-bottom)); display:flex; align-items:flex-end; gap:10px; max-width:calc(100vw - 40px); pointer-events:none; }
.nsb-assistant__launcher { display:grid; place-items:center; flex:none; width:56px; height:56px; padding:0; aspect-ratio:1; overflow:visible; border-radius:50%; border:2px solid var(--paper); background:var(--primary); color:var(--cream) !important; box-shadow:0 4px 20px rgb(73 66 61 / 18%); pointer-events:auto; }
.nsb-assistant__launcher img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 42%; border-radius:50%; }
.nsb-assistant__invitation { position:relative; display:flex; min-width:0; padding:12px 16px; border:1px solid var(--line); background:var(--paper); border-radius:var(--button-radius); box-shadow:0 4px 20px rgb(73 66 61 / 8%); animation:assistant-invite 160ms ease-out; pointer-events:auto; }
.nsb-assistant__invitation[data-overlap-hidden=true] { visibility:hidden; pointer-events:none; }
.nsb-assistant__invitation-text { display:grid; text-align:left; max-width:240px; padding:0; border:0; background:transparent; color:var(--ink); font-weight:400 !important; }
.nsb-assistant__invitation-text span { overflow-wrap:anywhere; }
.nsb-assistant__panel, .nsb-assistant__import { position:fixed; z-index:55; right:calc(max(20px,env(safe-area-inset-right)) + var(--booking-scrollbar-compensation,0px)); bottom:calc(var(--assistant-open-bottom,20px) + 68px); width:min(420px,calc(100vw - 40px)); height:var(--assistant-panel-height,640px); max-height:none; border:1px solid var(--line); border-radius:var(--button-radius); background:var(--paper); box-shadow:var(--popup-shadow,0 20px 70px rgb(73 66 61 / 20%)); overflow:hidden; }
/* The outer panel must not become a focus-driven scroll container when a
   fullscreen form returns. Only the conversation scrolls in the normal grid. */
.nsb-assistant__panel { display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:clip; --assistant-header-height:77px; }
.nsb-assistant__header { position:absolute; z-index:2; top:0; left:0; right:0; isolation:isolate; --navigation-glass-surface:var(--glass-taupe-chat); color:var(--paper); display:flex; align-items:center; gap:12px; padding:16px; border-bottom:1px solid rgb(252 250 247 / 20%); background:transparent; min-width:0; }
.nsb-assistant__header>div { min-width:0; flex:1; }
/* Account route headings must not restyle the persisted assistant identity. */
.nsb-assistant .nsb-assistant__header h2 { font:500 16px/20px var(--font-body); margin:0; letter-spacing:normal; overflow-wrap:normal; }
.nsb-assistant__header h2:focus { outline:none; }
.nsb-assistant .nsb-assistant__header p { font:400 12px/16px var(--font-body); margin:0; letter-spacing:normal; color:var(--paper); }
.nsb-assistant__avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--cream); flex:none; }
.nsb-assistant__avatar img { width:100%; height:100%; object-fit:cover; object-position:50% 42%; border-radius:50%; }
.nsb-assistant__icon { border:0; display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:var(--button-radius); background:transparent; color:var(--primary); }
.nsb-assistant__conversation { grid-row:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:calc(var(--assistant-header-height) + 20px) 20px 20px; scroll-padding-top:calc(var(--assistant-header-height) + 16px); overscroll-behavior:contain; scrollbar-gutter:stable; display:flex; flex-direction:column; align-items:stretch; gap:16px; overflow-wrap:anywhere; }
.nsb-assistant__message { flex:none; padding:12px 16px; border-radius:var(--button-radius); white-space:pre-wrap; font-size:16px; line-height:24px; }
.nsb-assistant__message--assistant { border-radius:16px 16px 16px 4px; align-self:flex-start; max-width:100%; background:var(--cream); }
.nsb-assistant__message--user { border-radius:16px 16px 4px 16px; align-self:flex-end; max-width:100%; background:var(--sand); color:var(--ink); }
.nsb-assistant__sources { display:grid; gap:8px; margin-top:12px; }
.nsb-assistant__citation { display:inline; margin-left:2px; vertical-align:super; font-size:11px; line-height:0; white-space:nowrap; }
.nsb-assistant__citation nsb-info-popover { display:inline; vertical-align:baseline; }
.nsb-assistant .nsb-assistant__citation-trigger { display:inline-grid; place-items:center; position:relative; width:auto; min-width:15px; height:18px; padding:0 3px; border:0; border-radius:4px; background:transparent; color:var(--primary); font:500 11px/1 var(--font-body); vertical-align:baseline; }
.nsb-assistant__citation-trigger::before { content:''; position:absolute; inset:-3px; }
.nsb-assistant .nsb-assistant__citation-trigger[aria-expanded=true] { background:var(--sand); color:var(--ink); }
.nsb-assistant__citation-panel { width:max-content; max-width:min(240px,calc(100vw - 32px)); font:500 12px/18px var(--font-body); border-radius:8px; box-shadow:0 4px 16px rgb(73 66 61 / 14%); }
.nsb-assistant a.nsb-assistant__citation-card { padding:8px 10px; text-decoration:none; }
.nsb-assistant__citation-card .information-card__title { margin:0; font:inherit; }
@media (hover:hover) and (pointer:fine) {
  .nsb-assistant .nsb-assistant__citation-trigger:hover { background:var(--sand); color:var(--ink); }
  .nsb-assistant a.nsb-assistant__citation-card:hover { text-decoration:underline; text-underline-offset:2px; }
}
@supports not selector(:popover-open) {
  .nsb-assistant__citation-panel { display:none; }
  .nsb-assistant__citation:focus-within .nsb-assistant__citation-panel, .nsb-assistant__citation:hover .nsb-assistant__citation-panel { display:inline-block; }
}
.nsb-assistant__quick, .nsb-assistant__widget-controls { display:flex; flex-wrap:wrap; gap:8px; }
.nsb-assistant__quick :is(a,button), .nsb-assistant__widget-controls :is(a,button) { min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:var(--button-radius); background:var(--input-surface); color:var(--ink); text-decoration:none; font-size:16px; line-height:24px; text-align:left; }
.nsb-assistant__waiting, .nsb-assistant__notice { background:var(--cream); padding:12px 16px; border-radius:var(--button-radius); }
.nsb-assistant__composer-wrap { grid-row:2; position:relative; padding:12px 16px; border-top:1px solid var(--line); background:var(--paper); }
.nsb-assistant__composer { position:relative; display:flex; gap:0; align-items:flex-end; border:1px solid var(--line); border-radius:var(--button-radius); padding:13px 51px 13px 3px; background:#fff; }
.nsb-assistant__composer textarea { display:block; min-width:0; flex:1; width:100%; height:24px; min-height:0; padding:0 10px; margin:0; line-height:24px; overflow-x:hidden; overflow-y:hidden; transition:height 160ms var(--assistant-ease); resize:none; border:0; border-radius:var(--button-radius); color:var(--ink); background:#fff; box-shadow:none; }
.nsb-assistant__composer textarea::placeholder { color:var(--primary); opacity:1; }
.nsb-assistant__send { position:absolute; inset-inline-end:3px; bottom:3px; border:0; width:44px; height:44px; flex:none; margin:0; display:grid; place-items:center; border-radius:var(--button-radius); color:var(--primary); background:transparent; box-shadow:none; }
.nsb-assistant__widget { border:1px solid var(--line); border-radius:var(--button-radius); background:#fff; padding:20px; display:grid; gap:20px; min-width:0; flex:none; }
.nsb-assistant__widget form { display:grid; gap:20px; min-width:0; }
.nsb-assistant__widget :is(fieldset,legend) { margin:0; padding:0; border:0; min-width:0; }
.nsb-assistant__widget fieldset { display:grid; gap:12px; }
.nsb-assistant__widget legend { margin-bottom:8px; }
.nsb-assistant__field { display:grid; gap:8px; min-width:0; }
.nsb-assistant__widget :where(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea) { min-width:0; width:100%; min-height:52px; border:1px solid var(--line); border-radius:var(--button-radius); padding:12px; color:var(--ink); background:#fff; font-size:16px; line-height:24px; }
.nsb-assistant__widget .phone-input>input { min-height:50px; border:0; padding-right:85px !important; }
.nsb-assistant__select { position:relative; display:block; min-width:0; }
.nsb-assistant__select select { appearance:none; -webkit-appearance:none; padding-right:44px !important; }
.nsb-assistant__select>svg { position:absolute; right:16px; top:50%; transform:translateY(-50%); width:16px; height:16px; pointer-events:none; color:var(--ink); }
.nsb-assistant__widget :is(input,textarea,select):focus { background:#fff; border-color:var(--input-focus); }
.nsb-assistant__widget :is(input,textarea,select):where(:not([data-otp-slot]))[aria-invalid=true] { border-color:#a13932; background:#fff; }
.nsb-assistant__widget input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #fff inset; -webkit-text-fill-color:var(--ink); }
.nsb-assistant__widget textarea { min-height:104px; resize:vertical; }
.nsb-assistant__widget input:is([type=checkbox],[type=radio]) { width:20px; height:20px; flex:none; accent-color:var(--primary); margin:0; }
.nsb-assistant__choice { min-height:44px; display:flex; align-items:center; gap:12px; cursor:pointer; }
.nsb-assistant__primary, .nsb-assistant__secondary { min-height:52px; width:100%; padding:12px 16px; border:1px solid var(--line); border-radius:var(--button-radius); text-align:center; }
.nsb-assistant__primary { background:var(--primary); color:var(--cream); border-color:var(--primary); }
.nsb-assistant__secondary { background:#fff; color:var(--ink); }
.nsb-assistant__text { border:0; background:transparent; min-height:44px; padding:8px 0; text-decoration:underline; text-underline-offset:3px; color:var(--ink); }
.nsb-assistant__error, .nsb-assistant .booking-field-error, .nsb-assistant .phone-input__error { color:var(--error-text); font-size:16px; line-height:24px; }
.nsb-assistant__error { display:grid; gap:12px; }
.nsb-assistant__error:empty { display:none; }
.nsb-assistant__facts { margin:0; display:grid; gap:12px; }
.nsb-assistant__facts div { display:grid; gap:4px; }
.nsb-assistant__facts dt { font-weight:500; }
.nsb-assistant__facts dd { margin:0; overflow-wrap:anywhere; }
.nsb-assistant__appointment { border-top:1px solid var(--line); padding-top:16px; display:grid; gap:8px; }
.nsb-assistant__widget .booking-otp__slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 6px repeat(3,minmax(0,1fr)); gap:4px; align-items:center; }
.nsb-assistant__widget .booking-otp__slots input { padding:10px 0; text-align:center; min-height:52px; font-size:20px; }
.nsb-assistant__widget .booking-otp>input[type=text] { margin-bottom:12px; }
.nsb-assistant__widget .booking-otp__separator { text-align:center; }
.nsb-assistant__widget .booking-field-hint { margin-top:12px; font-size:16px; line-height:24px; }
.nsb-assistant__widget .phone-input { position:relative; min-width:0; }
.nsb-assistant__widget .phone-input__tools { position:absolute; right:7px; top:4px; transform:none; height:44px; width:70px; display:flex; align-items:center; justify-content:center; gap:8px; }
.nsb-assistant__widget .phone-input__country { position:absolute; inset:0; width:100%; min-height:44px; opacity:0; cursor:pointer; }

.nsb-assistant__widget .phone-input__flag { width:24px; height:18px; object-fit:cover; }
.nsb-assistant__widget .phone-input__chevron { width:16px; height:16px; }
.nsb-assistant__import { padding:16px; height:var(--assistant-panel-height,640px); max-height:var(--assistant-panel-height,640px); overflow:auto; display:grid; align-content:start; gap:16px; }
.nsb-assistant__import .nsb-assistant__header { position:relative; inset:auto; margin:-16px -16px 0; padding:16px; background:transparent; }
.nsb-assistant__import h2 { flex:1; }
.nsb-assistant__import>.nsb-assistant__icon { justify-self:end; }
.nsb-assistant__sr, .nsb-assistant .booking-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nsb-assistant__backdrop { position:fixed; z-index:54; inset:0; background:rgb(73 66 61 / 24%); }
@keyframes assistant-invite { from { opacity:0; } to { opacity:1; } }
@media (max-width: 1024px), (pointer: coarse) and (hover: none) {
  .nsb-assistant__launcher { width:52px; height:52px; }
  .nsb-assistant__dock { right:max(16px,env(safe-area-inset-right)); max-width:calc(100vw - 32px); gap:8px; }
  .nsb-assistant__panel, .nsb-assistant__import { right:0; left:0; top:calc(var(--assistant-vv-top,0px) + var(--assistant-vv-height,100dvh) - var(--assistant-panel-height)); bottom:auto; width:100%; height:var(--assistant-panel-height,calc(100dvh - 8px)); max-height:none; border-radius:20px 20px 0 0; }
  .nsb-assistant__header { padding:12px max(12px,var(--assistant-safe-right)) 12px max(12px,var(--assistant-safe-left)); gap:12px; }
  .nsb-assistant__conversation { padding:calc(var(--assistant-header-height) + 16px) max(12px,var(--assistant-safe-right)) 16px max(12px,var(--assistant-safe-left)); scrollbar-gutter:auto; }
  .nsb-assistant__widget { padding:12px; }
  .nsb-assistant__composer-wrap { padding:8px max(12px,var(--assistant-safe-right)) max(8px,var(--assistant-safe-bottom)) max(12px,var(--assistant-safe-left)); }
}
@media (max-width:369px) { .nsb-assistant__dock { flex-direction:column; align-items:flex-end; gap:12px; } }
@media (hover:hover) and (pointer:fine) { .nsb-assistant__quick :is(a,button):hover, .nsb-assistant__widget-controls :is(a,button):hover,.nsb-assistant__secondary:hover,.nsb-assistant__icon:hover { background:var(--cream); } }
@media (prefers-reduced-motion:reduce) { .nsb-assistant *, .nsb-assistant *::before, .nsb-assistant *::after { animation:none !important; transition:none !important; } .nsb-assistant button:active { transform:none !important; } }
@media (forced-colors:active) { .nsb-assistant :is(button,a,.nsb-assistant__panel,.nsb-assistant__widget,.nsb-assistant__message) { border:1px solid ButtonText; } .nsb-assistant :is(button,a,input:where([type=checkbox],[type=radio])):focus-visible, .nsb-assistant__dialog[data-keyboard-focus] :is(button,a,input:where([type=checkbox],[type=radio])):focus { outline:2px solid Highlight; } .nsb-assistant__launcher { color:ButtonText !important; } }

.nsb-assistant [data-private-concealed] :is(.nsb-assistant__widget,[data-private-reply]) { visibility:hidden; }

.nsb-assistant__quick button[aria-pressed=true], .nsb-assistant__widget-controls button[aria-pressed=true] { background:var(--sand); color:var(--ink); border-color:var(--primary); }
@media (max-height:500px) and (min-width:660px) {
  .nsb-assistant__header { padding:8px 12px; gap:12px; }
  .nsb-assistant__conversation { padding:calc(var(--assistant-header-height) + 8px) 12px 8px; gap:12px; }
  .nsb-assistant__composer-wrap { padding:8px max(12px,var(--assistant-safe-right)) max(8px,var(--assistant-safe-bottom)) max(12px,var(--assistant-safe-left)); }
}

.nsb-assistant__history { width:100%; padding:16px; border:1px solid var(--line); border-radius:var(--button-radius); background:var(--cream); flex:none; }

/* The assistant uses one shared panel/toggle focus area in both layouts. */
.nsb-assistant[data-open] .nsb-assistant__dialog { position:fixed; z-index:55; right:max(20px,env(safe-area-inset-right)); bottom:var(--assistant-open-bottom,20px); width:min(420px,calc(100vw - 40px)); height:calc(var(--assistant-panel-height,640px) + 68px); pointer-events:none; }
.nsb-assistant__dialog > :is(.nsb-assistant__panel,.nsb-assistant__import) { pointer-events:auto; }

.nsb-assistant[data-open] .nsb-assistant__dock { z-index:55; bottom:var(--assistant-open-bottom,20px); }
.nsb-assistant__portrait { display:block; position:relative; width:100%; height:100%; border-radius:50%; overflow:hidden; flex:none; background:var(--cream); color:var(--primary); }
.nsb-assistant__portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 42%; }
.nsb-assistant__avatar { width:36px; height:36px; }
.nsb-assistant__message-avatar { width:30px; height:30px; align-self:flex-end; }
.nsb-assistant__message-avatar svg { width:20px; height:20px; }
.nsb-assistant__message-entry, .nsb-assistant__widget-anchor { flex:none; min-width:0; }
.nsb-assistant__message-row { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:end; gap:8px; min-width:0; flex:none; }
.nsb-assistant__message-row--user { display:flex; justify-content:flex-end; }
.nsb-assistant__message-content { display:contents; min-width:0; }
.nsb-assistant__message-row--assistant .nsb-assistant__message { grid-column:2; grid-row:1; }
.nsb-assistant__message-avatar { grid-column:1; grid-row:1; }
.nsb-assistant__message-row--assistant .nsb-assistant__actions { grid-column:2; grid-row:2; }
.nsb-assistant__message-row--user .nsb-assistant__message-content { display:block; flex:0 1 auto; max-width:88%; }
.nsb-assistant__message-row--assistant .nsb-assistant__message-content { max-width:calc(100% - 38px); }
.nsb-assistant__message { overflow-wrap:anywhere; }
.nsb-assistant__header .nsb-assistant__availability { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; font-size:16px; line-height:24px; margin-top:3px; }
/* Header shape is intentionally independent of round launcher/message avatars. */
.nsb-assistant__header-portrait { position:relative; display:block; flex:none; width:36px; height:36px; }
.nsb-assistant__header-portrait .nsb-assistant__avatar, .nsb-assistant__header-portrait img { border-radius:var(--button-radius); }
.nsb-assistant__identity { min-height:36px; }
.nsb-assistant__status-dot { position:absolute; right:-2px; bottom:-2px; width:12px; height:12px; border:2px solid var(--paper); border-radius:50%; background:var(--primary); isolation:isolate; }
.nsb-assistant__header-portrait[data-status=available] .nsb-assistant__status-dot { background:var(--assistant-available); }
.nsb-assistant__header-portrait[data-status=available] .nsb-assistant__status-dot::after { content:''; position:absolute; z-index:-1; width:14px; height:14px; left:-3px; top:-3px; background:var(--assistant-available); border:0; border-radius:50%; opacity:.16; animation:assistant-available 2.8s ease-in-out infinite; }
.nsb-assistant:not([data-open]) .nsb-assistant__status-dot::after, .nsb-assistant[data-document-hidden] .nsb-assistant__status-dot::after { animation-play-state:paused; }
.nsb-assistant__disclaimer { font-size:12px; line-height:16px; font-weight:400; text-align:center; padding:4px 0; color:var(--primary); border:0; }
.nsb-assistant__initial-help { margin-top:auto; padding-top:12px; display:flex; justify-content:flex-end; flex:none; }
.nsb-assistant__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.nsb-assistant__actions:empty { display:none; }
.nsb-assistant__initial-help button, .nsb-assistant__actions :is(button,a) { min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:var(--button-radius); background:var(--input-surface,#fff); color:var(--ink); text-decoration:none; font-size:16px; line-height:24px; text-align:left; overflow-wrap:anywhere; }
.nsb-assistant__trim-marker { font-size:16px; line-height:24px; text-align:center; color:var(--primary); padding:8px 0; flex:none; }
.nsb-assistant[data-compact] .nsb-assistant__header { padding:8px 12px; gap:12px; }
.nsb-assistant[data-compact] .nsb-assistant__disclaimer { padding:4px 0; }
.nsb-assistant[data-compact] .nsb-assistant__conversation { padding:calc(var(--assistant-header-height) + 12px) 12px 12px; gap:12px; }
.nsb-assistant[data-compact] .nsb-assistant__composer-wrap { padding:8px max(12px,var(--assistant-safe-right)) max(8px,var(--assistant-safe-bottom)) max(12px,var(--assistant-safe-left)); }
.nsb-assistant__panel[data-scroll-fallback] { display:block; overflow:auto; overscroll-behavior:contain; scroll-padding-top:calc(var(--assistant-header-height) + 16px); }
.nsb-assistant__panel[data-scroll-fallback] .nsb-assistant__header { position:sticky; }
.nsb-assistant__panel[data-scroll-fallback] .nsb-assistant__conversation { overflow:visible; min-height:72px; scrollbar-gutter:auto; padding-top:16px; }
.nsb-assistant__panel[data-scroll-fallback] .nsb-assistant__initial-help { margin-top:0; }
@keyframes assistant-available { 0%,100% { transform:scale(.94); opacity:.10; } 50% { transform:scale(1.08); opacity:.24; } }
@media (max-width: 1024px), (pointer: coarse) and (hover: none) {
  .nsb-assistant[data-open] .nsb-assistant__dialog { left:0; right:0; top:calc(var(--assistant-vv-top,0px) + var(--assistant-vv-height,100dvh) - var(--assistant-panel-height)); bottom:auto; width:100%; height:var(--assistant-panel-height); }
  .nsb-assistant[data-open] .nsb-assistant__dock { display:none !important; }
  .nsb-assistant__message { padding:12px; }
}
@media (hover:hover) and (pointer:fine) { .nsb-assistant__initial-help button:hover, .nsb-assistant__actions :is(button,a):hover { background:var(--cream); } }
@media (forced-colors:active) { .nsb-assistant__status-dot { background:CanvasText; border:1px solid CanvasText; } .nsb-assistant__status-dot::after { display:none; } }

/* Public primitives have no transport, account or booking dependencies. */
.nsb-assistant__log { --assistant-message-gap:16px; display:flex; flex:1 0 auto; flex-direction:column; gap:var(--assistant-message-gap); min-width:0; }
.nsb-assistant__widget-anchor--suggestions { margin-block-start:calc(-1 * var(--assistant-message-gap)); }
.nsb-assistant__disclaimer { flex:none; }
.nsb-assistant__sender-row { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:end; column-gap:8px; min-width:0; }
.nsb-assistant__sender-content { grid-column:2; grid-row:1; min-width:0; }
.nsb-assistant__sender-after { grid-column:2; min-width:0; }
.nsb-assistant__sender-content>.nsb-assistant__widget { width:100%; }
.nsb-assistant__navigation { display:inline-flex; align-items:center; gap:8px; }
.nsb-assistant__navigation>span { min-width:0; }
.nsb-assistant__navigation>svg { width:16px; height:16px; flex:none; }
.nsb-assistant__nojs { max-width:240px; padding:12px; border-radius:var(--button-radius); background:var(--paper); }
.nsb-assistant__nojs-link { overflow:visible; }
@media (max-width:369px) { .nsb-assistant__widget { padding:10px; } .nsb-assistant__widget form { gap:16px; } }

.nsb-assistant__message-row--assistant { display:block; }
.nsb-assistant__message-row--user>.nsb-assistant__message { max-width:88%; }
.nsb-assistant__sender-row>.nsb-assistant__message-avatar { grid-column:1; grid-row:1; }
@media (max-width: 1024px), (pointer: coarse) and (hover: none) {
  .nsb-assistant__import { padding:16px max(16px,var(--assistant-safe-right)) max(16px,var(--assistant-safe-bottom)) max(16px,var(--assistant-safe-left)); }
  .nsb-assistant__panel[data-scroll-fallback] { padding-bottom:var(--assistant-safe-bottom); }
}

.nsb-assistant__portrait>svg { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.nsb-assistant__message--assistant.nsb-assistant__history { border-radius:16px 16px 16px 4px; }

.nsb-assistant__launcher-portrait { display:block; position:relative; width:100%; height:100%; }
/* Numeric, available and neutral states share this one badge geometry. */
.nsb-assistant__badge { position:absolute; isolation:isolate; top:-5px; right:-5px; display:grid; place-items:center; width:18px; height:18px; padding:0; border-radius:50%; background:var(--ink); color:var(--paper); font-size:12px; font-weight:500; line-height:18px; box-shadow:0 0 0 2px var(--paper); }
.nsb-assistant__badge[data-status=available] { background:var(--assistant-available); }
.nsb-assistant__badge[data-status=available]::after { content:''; position:absolute; z-index:-1; inset:-3px; border-radius:inherit; background:inherit; pointer-events:none; animation:assistant-available 2.8s ease-in-out infinite; }
.nsb-assistant[data-document-hidden] .nsb-assistant__badge::after { animation-play-state:paused; }
.nsb-assistant__badge[data-status=neutral] { background:var(--primary); }
.nsb-assistant__badge[data-overflow] > span { transform:scaleX(.75); }
.nsb-assistant__initial-help button, .nsb-assistant__actions button { display:inline-flex; align-items:center; gap:8px; }
.nsb-assistant__initial-help button svg, .nsb-assistant__actions button svg { flex:none; width:16px; height:16px; }
.nsb-assistant__thinking { min-height:44px; font-size:14px; line-height:20px; color:var(--primary); width:max-content; }
.nsb-assistant__thinking:not([data-shown]) { visibility:hidden; }
.nsb-assistant__thinking span { background:linear-gradient(100deg,var(--primary) 30%,#b6aaa0 48%,var(--primary) 64%); background-size:250% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; animation:assistant-thinking 1.6s linear infinite; }
.nsb-assistant__thinking[data-paused] span, .nsb-assistant[data-document-hidden] .nsb-assistant__thinking span { animation-play-state:paused; }
.nsb-assistant__word-group { animation:assistant-words 450ms var(--assistant-ease) both; }
.nsb-assistant:not([data-open]) .nsb-assistant__word-group, .nsb-assistant[data-document-hidden] .nsb-assistant__word-group { animation-play-state:paused; }
@keyframes assistant-thinking { from { background-position:100% 0; } to { background-position:-100% 0; } }
@keyframes assistant-words { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .nsb-assistant__thinking span { background:none; color:var(--primary); } .nsb-assistant__status-dot::after, .nsb-assistant__badge::after { display:none; } }
@media (forced-colors:active) { .nsb-assistant__status-dot { background:CanvasText !important; border-color:Canvas; outline:1px solid CanvasText; } .nsb-assistant__thinking span { background:none; color:CanvasText; } .nsb-assistant__send { border:0; } }

/* The persisted conversation stays above the separately captured site navigation
   during a ClientRouter transition as well as after the body swap. */
.nsb-assistant { position:relative; z-index:51; }
/* Snapshot the visible surfaces, not the zero-height persistent island. */
.nsb-assistant__panel, .nsb-assistant__import { view-transition-name:nsb-assistant-panel; }
.nsb-assistant__dock { view-transition-name:nsb-assistant-dock; }
.nsb-assistant__backdrop { view-transition-name:nsb-assistant-backdrop; }
::view-transition-group(nsb-assistant-panel), ::view-transition-group(nsb-assistant-dock) { z-index:55; animation:none; }
::view-transition-group(nsb-assistant-backdrop) { z-index:54; animation:none; }
::view-transition-old(nsb-assistant-panel), ::view-transition-old(nsb-assistant-dock), ::view-transition-old(nsb-assistant-backdrop) { display:none; }
::view-transition-new(nsb-assistant-panel), ::view-transition-new(nsb-assistant-dock), ::view-transition-new(nsb-assistant-backdrop) { animation:none; mix-blend-mode:normal; }

.nsb-assistant__header .nsb-assistant__icon { color:var(--paper); }
.nsb-assistant__header .nsb-assistant__icon:focus-visible, .nsb-assistant__dialog[data-keyboard-focus] .nsb-assistant__header .nsb-assistant__icon:focus { outline-color:var(--paper); }
/* The textarea and send control share the same white boundary. A keyboard user
   can still identify the send/stop button without a second text-entry ring. */
.nsb-assistant__composer .nsb-assistant__send:focus-visible, .nsb-assistant__dialog[data-keyboard-focus] .nsb-assistant__composer .nsb-assistant__send:focus { outline:none; background:var(--sand); color:var(--ink); }
@media (hover:hover) and (pointer:fine) { .nsb-assistant__header .nsb-assistant__icon:hover { background:rgb(252 250 247 / 14%); } }
@media (forced-colors:active) {
  .nsb-assistant__header, .nsb-assistant .nsb-assistant__header p, .nsb-assistant__header .nsb-assistant__icon { color:CanvasText; border-color:CanvasText; }
  .nsb-assistant__header .nsb-assistant__icon:focus-visible { outline-color:Highlight; }
  .nsb-assistant__badge { forced-color-adjust:none; background:CanvasText !important; color:Canvas; box-shadow:0 0 0 2px Canvas; }
  .nsb-assistant__badge[data-status=neutral] { background:GrayText !important; }
  .nsb-assistant__badge::after { display:none; }
  .nsb-assistant__composer .nsb-assistant__send:focus-visible, .nsb-assistant__dialog[data-keyboard-focus] .nsb-assistant__composer .nsb-assistant__send:focus { background:Highlight; color:HighlightText; forced-color-adjust:none; }
}

/* R7 responses share one semantic, selectable text tree in every answer path. */
.nsb-assistant__answer { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.nsb-assistant__answer > * { margin-block:0; }
.nsb-assistant .nsb-assistant__answer > * + * { margin-block-start:10px; }
.nsb-assistant__answer :is(ul,ol) { margin-block:0; padding-inline-start:1.4em; list-style-position:outside; }
.nsb-assistant__answer ol { padding-inline-start:2em; }
.nsb-assistant__answer li + li { margin-block-start:5px; }
.nsb-assistant__answer li > :is(ul,ol) { margin-block-start:5px; }
.nsb-assistant__answer li::marker { color:currentColor; }
.nsb-assistant__answer strong { font-weight:700; font-synthesis:weight; }
.nsb-assistant__answer em { font-style:italic; font-synthesis:style; }
.nsb-assistant__answer h4 { margin:0; font:500 1em/1.5 var(--font-body); letter-spacing:normal; }
.nsb-assistant__answer blockquote { margin-inline:0; padding-inline-start:12px; border-inline-start:2px solid var(--line); }
.nsb-assistant__answer code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.9em; }
.nsb-assistant__answer pre { max-width:100%; overflow-x:auto; white-space:pre; padding:10px; border-radius:8px; background:rgb(73 66 61 / 5%); }
.nsb-assistant__answer-line { white-space:pre-wrap; }
.nsb-assistant__answer pre .nsb-assistant__answer-line { white-space:pre; }
.nsb-assistant__sr { user-select:none; }
.nsb-assistant[data-booking-expanded] .nsb-assistant__dock { display:none !important; }
/* Keep both chrome rows in flow while the native booking layer moves. Their
   final geometry already bounds the card, so revealing them cannot reflow it. */
.nsb-assistant :is(.nsb-assistant__header, .nsb-assistant__composer-wrap) { opacity:1; transition:opacity 160ms var(--assistant-ease); }
.nsb-assistant[data-booking-phase=expanding] .nsb-assistant__header,
.nsb-assistant[data-booking-phase=expanding] .nsb-assistant__composer-wrap,
.nsb-assistant[data-booking-phase=fullscreen] .nsb-assistant__header,
.nsb-assistant[data-booking-phase=fullscreen] .nsb-assistant__composer-wrap { opacity:0; transition-duration:80ms; }
.nsb-assistant[data-booking-phase=collapsing] :is(.nsb-assistant__header, .nsb-assistant__composer-wrap) { transition-delay:80ms; }
.nsb-assistant[data-booking-motion=instant] :is(.nsb-assistant__header, .nsb-assistant__composer-wrap) { transition:none; } }
@layer nordic-base, nordic-authored, nordic-custom;
@layer nordic-base {/* Both surfaces adapt to the width they actually receive, including a chat
   avatar's column. These are shared booking rules, not a parallel chat theme. */
.booking-widget { container-type: inline-size; container-name: consultation; min-width: 0; }
.booking-widget .booking-calendar { container-type: inline-size; container-name: consultation-calendar; min-width: 0; }
.booking-widget .booking-day-strip .booking-day > :is(span, strong) { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.consultation-surface { font: 400 16px/1.5 var(--font-body); }
.consultation-surface > h3 { margin: 0 0 20px; font: 400 26px/1.25 var(--font-heading); overflow-wrap: anywhere; }
.consultation-price { margin: 16px 0 24px; }
.consultation-price > div { display: grid; grid-template-columns: minmax(70px, auto) minmax(0, 1fr); gap: 12px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.consultation-price dt { color: var(--booking-muted, var(--primary)); }
.consultation-price dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
/* The calendar measures its own content width. A dialog may be wider than its
   content, and the chat additionally reserves its sender-avatar column. */
@container consultation-calendar (max-width: 420px) {
  .booking-calendar__toolbar { flex-wrap: wrap; }
  .booking-calendar__toolbar h3 { flex: 1 0 100%; margin-bottom: 4px; }
  .booking-calendar__toolbar .booking-icon-button:nth-child(2) { margin-right: auto; }
  .booking-day-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; overflow: visible; }
  .booking-day { min-width: 0; min-height: 96px; padding: 8px 1px; gap: 4px; }
  .booking-day span { font-size: 12px; }
  .booking-day strong { font-size: 22px; }
  .booking-month { gap: 2px; }
  .booking-month__weekday { font-size: 12px; }
  .booking-week-controls { gap: 8px; }
  .booking-week-controls button { gap: 4px; font-size: 14px; }
  .booking-times__heading { flex-direction: column; gap: 6px; margin-bottom: 16px; }
  .booking-times__heading h3 { font-size: 22px; }
  .booking-times { margin-top: 24px; }
}
@container consultation (max-width: 420px) {
  .booking-summary { margin-bottom: 24px; }
  .booking-summary__row { flex-wrap: wrap; gap: 4px 12px; padding-block: 12px; }
  .booking-summary__row > span { flex-basis: 100%; font-size: 14px; }
  .booking-choice, .booking-choices--list .booking-choice { padding: 14px; gap: 12px; }
  .booking-choice strong { font-size: 18px; }
  .booking-choice span span { font-size: 16px; }
  .booking-message { padding: 14px; }
  .booking-actions { margin-top: 24px; }
  .booking-treatment-row, .booking-choice--consultation { gap: 12px; flex-wrap: wrap; }
  .booking-treatment-row__copy { flex: 1 0 100%; }
  .booking-treatment-row__price { text-align: left; }
  .booking-contact-changes dl > div { grid-template-columns: minmax(0, 1fr); }
  .consultation-price > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@container consultation-calendar (max-width: 320px) {
  /* Keep all seven labelled dates in reading order without tiny text, broken
     time tokens or horizontal scrolling. Seven 44px targets plus six 2px gaps
     require 320px. The month grid remains seven columns. */
  .booking-day-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .booking-day-strip .booking-day { min-height: 112px; padding: 8px 1px; }
  .booking-day-strip .booking-day span { font-size: 16px; }
  .booking-time-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-week-controls button { font-size: 13px; }
  .booking-week-controls button svg { display: none; }
} }
@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base {.customer-booking {
  display: block;
  max-width: 668px;
  margin: 0 auto;
  padding: 64px 24px 88px;
  line-height: 1.6;
  --booking-background: var(--paper);
}
.customer-booking [hidden] {
  display: none !important;
}
.customer-booking__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 42px;
}
.customer-booking :is(h1, h2, h3, [role='alert']) {
  scroll-margin-block-start: calc(var(--header) + 32px);
}
.customer-booking h1 {
  margin: 0;
  font: 400 clamp(32px, 4vw, 48px) / 1.15 var(--font-heading);
  letter-spacing: var(--heading-tracking);
}
.customer-booking__login {
  max-width: 480px;
  margin: 0 auto;
}
.customer-booking__login > p {
  color: var(--booking-muted, var(--primary));
  margin: 0 0 20px;
}
.customer-booking__destination { overflow-wrap: anywhere; }
.customer-booking__login > .booking-form:last-child { padding-bottom: 0; }
.customer-booking__public {
  margin-top: 32px;
  padding-top: 0;
}
.customer-booking__public > h2,
.customer-booking__personal > h2 {
  font: 400 clamp(26px, 3vw, 34px) / 1.2 var(--font-heading);
  margin: 0 0 18px;
}
.customer-booking__card {
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}
.customer-booking__card h3 {
  font: 400 24px/1.3 var(--font-heading);
  margin: 0 0 12px;
}
.customer-booking__card p {
  white-space: pre-line;
  margin: 12px 0 0;
  text-align: left;
}
.customer-booking__description { overflow-wrap: anywhere; }
.customer-booking__secondary { margin-top: 32px; }
.customer-booking__secondary > h3 { margin: 0; font: 400 21px/1.35 var(--font-heading); }
.customer-booking__card--secondary h3 { font-size: 21px; }
.customer-booking__card--secondary .customer-booking__description { color: var(--booking-muted, var(--primary)); }
.customer-booking__card .booking-secondary { margin-top: 16px; }
.customer-booking__history { margin-top: 20px; font-size: 16px; color: var(--booking-muted, var(--primary)); }
.customer-booking__history summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 8px; }
.customer-booking__history summary::before { content: '+'; }
.customer-booking__history[open] summary::before { content: '−'; }
.customer-booking__empty { margin: 0; color: var(--booking-muted, var(--primary)); }
.customer-booking__badge {
  margin-bottom: 12px;
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--cream);
  color: var(--primary);
  font-size: 16px;
}
.customer-booking__metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  color: var(--booking-muted, var(--primary));
}
.customer-booking__card .booking-primary {
  margin-top: 22px;
}
.customer-booking .booking-choice {
  text-decoration: none;
}
.booking-form {
  display: grid;
  gap: 24px;
  padding-bottom: 24px;
}
.booking-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  scroll-margin-block: 24px;
}
.booking-field label,
.booking-otp > label {
  display: block;
  font-weight: 500;
  margin: 0;
}
.booking-field :is(input, textarea, select),
.booking-otp > input:not([type='hidden']) {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 13px 16px;
  border: 1px solid var(--line);
  border-radius: var(--button-radius);
  background: var(--input-surface);
  color: var(--ink);
  font: 400 16px/1.5 var(--font-body);
}
.booking-field textarea {
  min-height: 76px;
  max-width: 100%;
  resize: vertical;
}
.booking-field :is(input, textarea, select):focus,
.booking-otp input:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--input-focus);
}
.booking-field [aria-invalid='true'],
.booking-field .phone-input input[aria-invalid='true'],
.booking-otp [aria-invalid='true'] {
  border-color: #a13932;
}
.booking-field-hint,
.booking-field-error {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.booking-field-error:empty, [data-auth-error]:empty { display: none; }
.booking-field-hint {
  color: var(--booking-muted, var(--primary));
}
.booking-field-error {
  color: var(--error-text);
  overflow-wrap: anywhere;
}
.booking-field .phone-input input {
  padding-inline-end: 80px;
  border: 0;
  background: var(--input-surface);
}
.booking-otp {
  display: grid;
  gap: 12px;
  min-width: 0;
}
/* The whole code has one boundary; individual digits are quiet editing positions. */
.booking-otp__slots {
  display: none;
  align-items: center;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 12px repeat(3, minmax(0, 1fr));
  gap: 4px;
  min-height: 64px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--input-surface);
}
.booking-otp[data-ready] .booking-otp__slots { display: grid; }
.booking-otp > .booking-field-error:not(:empty) { margin-top: -4px; }
.booking-otp__slots input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 44px;
  border: 1px solid transparent;
  border-radius: 5px;
  text-align: center;
  padding: 0;
  background: var(--input-surface);
  color: var(--ink);
  font: 500 22px/1.2 var(--font-body);
  font-variant-numeric: tabular-nums;
}
.booking-otp__separator { text-align: center; color: var(--booking-muted, var(--primary)); }
.booking-otp__slots input::placeholder { color: var(--primary); opacity: 1; }
.booking-otp .booking-otp__slots input:focus { border-bottom-color: var(--input-focus); }
.booking-otp .booking-otp__slots input[aria-invalid='true']:focus { border-bottom-color: var(--input-error-focus); }
.booking-otp[data-otp-invalid] .booking-otp__slots,
.booking-otp__slots:has([aria-invalid='true']) { border-color: #a13932; }
.booking-otp__slots input[aria-invalid='true'] { border-color: transparent; }
.booking-cpr-help {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 44px;
  text-align: left;
}
.booking-cpr-help svg {
  flex: none;
}
.booking-contact-changes {
  display: grid;
  gap: 24px;
}
.booking-contact-changes dl {
  margin: 0;
  display: grid;
  gap: 24px;
}
.booking-contact-changes dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px 12px;
}
.booking-contact-changes dt {
  grid-column: 1/-1;
  font-weight: 600;
}
.booking-contact-changes dd {
  margin: 0;
  overflow-wrap: anywhere;
  padding: 16px;
  border-radius: 10px;
  color: var(--ink);
  background: var(--cream);
}
.booking-contact-changes dd:last-child { background: var(--booking-fill, var(--sand)); font-weight: 600; }
.booking-contact-changes dd small {
  font-size: 16px;
  display: block;
  color: var(--booking-muted, var(--primary));
}
.booking-sensitive-placeholder {
  min-height: 360px;
}
.booking-form .booking-secondary {
  margin: 0;
}
@media (max-width: 600px) {
  .customer-booking {
    padding: 36px 16px 56px;
  }
  .customer-booking__header {
    margin-bottom: 30px;
  }

}
@media (forced-colors: active) {
  .booking-field :is(input, textarea, select),
  .booking-field .phone-input input,
  .booking-otp input {
    border: 1px solid CanvasText;
  }
  .booking-field [aria-invalid='true'],
  .booking-otp [aria-invalid='true'] {
    outline: 2px dashed LinkText;
  }
  .booking-field-error {
    color: CanvasText;
  }
  .booking-field :is(input, textarea, select):focus, .booking-otp input:focus { border-color: Highlight; }
}

.booking-widget .booking-cpr-help {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: auto;
  max-width: 100%;
  padding: 8px 0;
  height: auto;
  border-radius: 0;
  font: 400 16px/1.5 var(--font-body);
  text-align: left;
}
.booking-field .phone-input__country {
  min-height: 44px;
  padding: 0;
  border: 0;
}

/* Native fallbacks stay useful before enhancement and without JavaScript. */
.customer-booking:not([data-enhanced]) [data-personal-content] {
  display: none;
}
.customer-booking:not([data-enhanced]) .phone-input__tools {
  position: static;
  transform: none;
  display: block;
  margin-top: 8px;
}
.customer-booking:not([data-enhanced]) .phone-input__tools :is(img, svg) {
  display: none;
}
.customer-booking:not([data-enhanced]) .phone-input__country {
  position: static;
  opacity: 1;
  padding: 10px 12px;
  min-height: 50px;
  border: 1px solid var(--line);
  appearance: auto;
}

/* Login and code pages share the existing booking palette and a quieter hierarchy. */
.customer-booking__login { box-sizing: border-box; max-width: 480px; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.customer-booking__login .booking-heading { margin: 0 0 24px; text-align: left; }
.customer-booking__login h1 { font: 600 20px/1.4 var(--font-heading); letter-spacing: 0; }
.customer-booking__login h1[tabindex='-1']:focus { outline: none; }
.customer-booking__login .booking-heading p { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink); }
.customer-booking__login .booking-form { gap: 22px; padding-bottom: 0; }
.customer-booking__login .booking-field-hint { font-size: 16px; color: var(--booking-muted, var(--primary)); }
.customer-booking__contact { margin: 0 0 24px; }
.customer-booking__contact > p { margin: 0 0 8px; }
.customer-booking__destination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 16px; background: var(--booking-fill, var(--sand)); border-radius: 10px; }
.customer-booking__destination strong { min-width: 0; overflow-wrap: anywhere; font-weight: 500; }
.customer-booking__destination form { flex: none; }
.customer-booking .customer-booking__edit { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; color: var(--ink); background: transparent; cursor: pointer; }
.customer-booking__edit span, .customer-booking__edit svg { display: block; width: 20px; height: 20px; }
.booking-widget .customer-booking__link { font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.customer-booking__otp-step { display: grid; gap: 16px; min-width: 0; }
.customer-booking__otp-step > .customer-booking__contact { margin: 0; }
.customer-booking__action-group { display: grid; gap: 8px; min-width: 0; }
.customer-booking__action-group > .booking-form { margin: 0; padding-bottom: 0; }
.customer-booking__action-group > .customer-booking__link,
.customer-booking__action-group .customer-booking__login-actions :is(.customer-booking__link, [data-resend-countdown]) {
  box-sizing: border-box;
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
  font-size: 16px;
  line-height: 1.5;
}
.customer-booking__login-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 6px; min-height: 44px; text-align: center; margin: 0; }
.customer-booking__login-actions p { margin: 0; }
.customer-booking__login-actions form { display: flex; align-items: center; justify-content: center; min-width: 0; margin: 0; }
.customer-booking__login-actions [data-resend-countdown] { display: flex; align-items: center; justify-content: center; color: var(--booking-muted, var(--primary)); }
.customer-booking__header { align-items: baseline; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 24px; }
.customer-booking__header h1 { flex: 1 1 340px; font: 600 24px/1.4 var(--font-heading); overflow-wrap: anywhere; }
.customer-booking__header form { margin: 0; }
.customer-booking__public > h2 { font: 600 20px/1.4 var(--font-heading); }
.booking-field [aria-invalid='true']:focus { border-color: var(--input-error-focus); }
@media (max-width: 559px) {
  .customer-booking__login { padding: 16px; }
  .booking-contact-changes dl > div { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .booking-contact-changes dt { grid-column: auto; }
}
@media (forced-colors: active) {
  .booking-otp__slots { background: Canvas; border-color: CanvasText; }
  .booking-otp__slots input { border-color: transparent; background: Canvas; }
  .booking-otp__slots input:focus { border-bottom-color: Highlight; }
  .booking-otp[data-otp-invalid] .booking-otp__slots { border-color: LinkText; }
  .customer-booking__destination, .booking-contact-changes dd { border: 1px solid CanvasText; }
}

.customer-booking:not([data-enhanced]) [data-catalogue-loading] { display: none; }
.booking-contact-changes > .customer-booking__contact { margin-bottom: 0; }

/* Query the space available to the actual grid, after dialog/portal padding.
   Consultation calendars retain their independent three-column layout. */
.booking-times--personal { container: personal-times / inline-size; min-width: 0; }
.booking-times--personal .booking-time-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-times--personal .booking-time-group button { display: grid; align-content: center; gap: 2px; min-width: 0; }
.booking-times--personal .booking-time-group small { font-size: 14px; line-height: 20px; font-weight: 400; color: inherit; overflow-wrap: anywhere; }
.booking-times--personal .booking-practitioner-group h4 { font-size: 14px; line-height: 20px; font-weight: 500; overflow-wrap: anywhere; }
@container personal-times (min-width: 620px) {
  .booking-times--personal .booking-time-group { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
}
