/* Responsive customer flows and accessible controls. */
#email-confirm .email-code-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(6px,2vw,15px); max-width:400px; width:100%; }
#email-confirm .code-cell { width:100%; min-width:0; padding:8px 2px; }
#email-confirm .email-confirm-sending { border:0; background:none; padding:0; font:inherit; text-decoration:underline; }
#email-confirm .email-confirm-sending:disabled { opacity:.6; cursor:wait; }
.mob-menu { border:0; background:none; padding:10px 0; }
.mob-menu:focus-visible, #product .option-value:focus-visible { outline:3px solid #087e83; outline-offset:3px; }
.alb-checkout-page .row > *, .alb-checkout-page fieldset, .alb-checkout-page .alb-address-dropdown { min-width:0; }
.alb-checkout-page .alb-address-dropdown { flex:1 1 0; max-width:100%; }
.alb-checkout-page .alb-address-btn, .alb-checkout-page .alb-address-item { white-space:normal; overflow-wrap:anywhere; min-width:0; }
.alb-checkout-page .address-existing-edit { flex:0 0 32px; }
.alb-checkout-page #shipping-existing, .alb-checkout-page #payment-existing { max-width:100%; }
.alb-checkout-page address { overflow-wrap:anywhere; }
@media(max-width:767.98px) {
  #account-order .row > *, #account-order .accordion, #account-order .accordion-item, #account-order .bordered-block { min-width:0; max-width:100%; }
  #account-order .alb-order-toolbar { height:auto!important; min-height:80px; flex-wrap:wrap; gap:12px; padding:12px!important; }
  #account-order .alb-order-toolbar > div { min-width:0; max-width:100%; flex-wrap:wrap; }
  #account-order .alb-order-toolbar .dropdown, #account-order #alb-reg-btn { max-width:100%; }
  #account-order .accordion-button { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-right:40px; position:relative; }
  #account-order .accordion-button > .separator { display:none; }
  #account-order .accordion-button > div { min-width:0; overflow-wrap:anywhere; }
  #account-order .accordion-button::after { position:absolute; right:12px; top:20px; }
  #account-order .accordion-button .justify-content-center { justify-content:flex-start!important; }
  #account-order .accordion-body > .d-flex, #account-order .bordered-block > .d-flex { flex-wrap:wrap; }
  #account-order .bordered-block { flex:1 1 100%; width:100%; overflow-wrap:anywhere; }
  #account-order .bordered-block svg { flex-shrink:0; }
}

/* Toasts must not cover or intercept shopping controls. */
#alert { top:12px; right:12px; left:auto; bottom:auto; transform:none; width:min(420px,calc(100% - 24px)); max-width:calc(100% - 24px); pointer-events:none; }
#alert .alert { margin-bottom:8px; pointer-events:none; }
#alert .alert a, #alert .alert .btn-close { pointer-events:auto; }

/* Keep keyboard focus visible despite the theme's general button reset. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #087e83 !important; outline-offset:3px; }

/* Albtex checkout: four existing steps and the guest/account choice. */
#checkout-checkout .alb-checkout-title { margin-bottom:24px; }
#checkout-checkout .alb-checkout-progress { margin:0 auto 44px; max-width:850px; }
#checkout-checkout .alb-checkout-progress-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
#checkout-checkout .alb-checkout-progress-item { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 0; border-bottom:2px solid #e9e9e9; color:#676767; font-size:14px; min-width:0; }
#checkout-checkout .alb-checkout-progress-number { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; font-variant-numeric:tabular-nums; }
#checkout-checkout .alb-checkout-progress-item.is-current, #checkout-checkout .alb-checkout-progress-item.is-complete { color:#000; border-bottom-color:#000; }
#checkout-checkout .is-current .alb-checkout-progress-number, #checkout-checkout .is-complete .alb-checkout-progress-number { background:#000; color:#fff; border-color:#000; }
#checkout-checkout .alb-checkout-step-one-guest { --bs-gutter-x:40px; --bs-gutter-y:24px; }
#checkout-checkout .alb-guest-entry [hidden] { display:none!important; }
#checkout-checkout .alb-guest-heading { margin:0 0 10px; font-family:Medium,sans-serif; font-size:28px; line-height:1.25; }
#checkout-checkout .alb-guest-intro { color:#626262; margin:0 0 18px; }
#checkout-checkout .alb-guest-service { color:#626262; font-size:13px; margin:0 0 26px; }
#checkout-checkout .alb-checkout-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#checkout-checkout .alb-checkout-choice { border:1px solid #e5e5e5; border-radius:4px; background:#fff; padding:26px 24px; display:flex; flex-direction:column; min-width:0; }
#checkout-checkout .alb-checkout-choice-guest { border-color:#000; }
#checkout-checkout .alb-choice-icon { display:block; font-size:22px; margin-bottom:22px; }
#checkout-checkout .alb-checkout-choice h3 { font-family:Medium,sans-serif; font-size:22px; line-height:1.25; margin:0 0 14px; }
#checkout-checkout .alb-checkout-choice p { color:#626262; font-size:15px; margin:0 0 26px; }
#checkout-checkout .alb-choice-action { display:flex; align-items:center; justify-content:center; gap:12px; font-family:Medium,sans-serif; min-height:48px; margin-top:auto; padding:12px; white-space:normal; }
#checkout-checkout .alb-choice-action span { font-family:Arial,sans-serif; font-size:20px; }
#checkout-checkout .alb-guest-register-link { margin:22px 0 0; font-size:14px; color:#626262; }
#checkout-checkout .alb-guest-register-link a, #checkout-checkout .alb-guest-hint a { color:#000; text-decoration:underline; text-underline-offset:3px; }
#checkout-checkout .alb-guest-form-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; padding-bottom:10px; }
#checkout-checkout .alb-guest-change { flex-shrink:0; border:0; background:none; color:#000; font:inherit; font-size:14px; padding:8px 0; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
#checkout-checkout .alb-guest-form .alb-guest-fieldset { padding:26px 0 22px; margin:0; border:0; border-top:1px solid #e9e9e9; min-width:0; }
#checkout-checkout .alb-guest-form .alb-guest-fieldset > legend { float:none; font-family:Medium,sans-serif; font-size:21px; line-height:1.4; margin:0 0 22px; padding:0; width:auto; }
#checkout-checkout .alb-guest-form .form-label { display:block; font-size:14px; line-height:1.5; margin-bottom:8px; }
#checkout-checkout .alb-guest-form .form-control, #checkout-checkout .alb-guest-form .form-select { min-height:48px; min-width:0; font-family:inherit; font-size:16px; line-height:1.5; padding:10px 12px; border:1px solid #dedede; border-radius:4px; background-color:#fff; }
#checkout-checkout .alb-guest-form .form-control.is-invalid, #checkout-checkout .alb-guest-form .form-select.is-invalid { border-color:#b02a37; }
#checkout-checkout .alb-guest-form input[type=date] { max-width:100%; }
#checkout-checkout .alb-guest-form .form-check { padding-top:10px; }
#checkout-checkout .alb-guest-form .form-check-label { line-height:1.5; }
#checkout-checkout .alb-guest-form .invalid-feedback { font-size:13px; }
#checkout-checkout .alb-guest-hint { color:#626262; font-size:13px; line-height:1.6; margin:0 0 20px; }
#checkout-checkout .alb-guest-form #button-register { font-family:Medium,sans-serif; padding:13px 24px; min-height:48px; margin:0!important; }
#checkout-checkout #alb-guest-order-summary { border:0; min-width:0; }
#checkout-checkout #alb-guest-order-summary > summary { display:none; }
#checkout-checkout .alb-step-one-summary .accordion-item { border-color:#e9e9e9; border-radius:4px; }
#checkout-checkout .alb-step-one-summary .accordion-button { font-size:18px; padding:18px; }
#checkout-checkout .alb-step-one-summary .accordion-body { padding:14px; }
#checkout-checkout .alb-step-one-summary .table { font-size:14px; }
#checkout-checkout .alb-step-one-summary .table td, #checkout-checkout .alb-step-one-summary .table th { padding:7px; }
@media(min-width:1200px) {
  #checkout-checkout .alb-step-one-summary { align-self:flex-start; position:sticky; top:20px; }
}
@media(max-width:1199.98px) {
  #checkout-checkout .alb-step-one-summary { order:-1; }
  #checkout-checkout #alb-guest-order-summary { border-top:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5; }
  #checkout-checkout #alb-guest-order-summary > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; list-style:none; cursor:pointer; font-size:15px; }
  #checkout-checkout #alb-guest-order-summary > summary::-webkit-details-marker { display:none; }
  #checkout-checkout #alb-guest-order-summary > summary span::before { content:'+'; display:inline-block; margin-right:10px; }
  #checkout-checkout #alb-guest-order-summary[open] > summary span::before { content:'−'; }
  #checkout-checkout #alb-guest-summary-total { white-space:nowrap; font-family:Medium,sans-serif; font-variant-numeric:tabular-nums; }
}
@media(max-width:767.98px) {
  #checkout-checkout .alb-checkout-title { font-size:28px; margin-bottom:18px; }
  #checkout-checkout .alb-checkout-progress { margin-bottom:24px; }
  #checkout-checkout .alb-checkout-progress-list { gap:8px; }
  #checkout-checkout .alb-checkout-progress-item { flex-direction:column; gap:8px; justify-content:flex-start; text-align:center; font-size:12px; line-height:1.3; padding:10px 0 12px; }
  #checkout-checkout .alb-checkout-progress-number { flex-basis:28px; width:28px; height:28px; }
  #checkout-checkout .alb-checkout-choices { grid-template-columns:1fr; gap:16px; }
  #checkout-checkout .alb-checkout-choice { padding:24px; }
  #checkout-checkout .alb-choice-icon { margin-bottom:14px; }
  #checkout-checkout .alb-checkout-choice p { margin-bottom:20px; }
  #checkout-checkout .alb-guest-heading { font-size:25px; }
  #checkout-checkout .alb-guest-form-heading { flex-direction:column; gap:0; }
  #checkout-checkout .alb-guest-form .alb-guest-fieldset { padding-top:22px; }
  #checkout-checkout .alb-guest-form #button-register { width:100%; }
  #checkout-checkout .alb-step-one-summary .table { font-size:13px; }
  #checkout-checkout .alb-step-one-summary .table td, #checkout-checkout .alb-step-one-summary .table th { padding:5px; }
}

#checkout-checkout .alb-guest-form .row > .col-12 { width:100%; }
#checkout-checkout .alb-guest-optional { margin-top:2px; }
#checkout-checkout .alb-guest-optional > summary { color:#555; text-decoration:underline; text-underline-offset:3px; font-size:14px; padding:8px 0; cursor:pointer; }
#checkout-checkout .alb-guest-optional > .row { margin-top:12px; }

@media(max-width:1199.98px) {
  #checkout-checkout .alb-checkout-step-one-guest { --bs-gutter-x:24px; }
}

#checkout-checkout .alb-checkout-choice .btn-outline-dark.alb-choice-action { border:1px solid #000!important; background:#fff; color:#000; }
#checkout-checkout #alb-guest-summary-total.alb-summary-shipping-pending::after { content:'zzgl. Versand'; display:block; text-align:right; color:#626262; font-family:Regular,sans-serif; font-size:12px; font-weight:normal; }
