.autogiro-signup-content {
   padding: 32px;
}
.autogiro-signup-content input[type="email"]:focus,
.autogiro-signup-content input[type="number"]:focus,
.autogiro-signup-content input[type="password"]:focus,
.autogiro-signup-content input[type="tel"]:focus,
.autogiro-signup-content input[type="text"]:focus,
.autogiro-signup-content input:not([type]):focus,
.autogiro-signup-content textarea:focus,
.autogiro-signup-content select:focus {
   border-color: var(--billecta-primary-color);
   outline: 2px solid var(--billecta-primary-color);
   outline-offset: 2px;
}

.autogiro-signup-content #autogiro-form > div {
   display: flex;
   flex-direction: column;
   gap: 10px;
}
.autogiro-signup-content #autogiro-form .autogiro-form-content {
   margin-bottom: 40px;
}

.autogiro-signup-content #autogiro-form label,
.autogiro-signup-content #autogiro-renewal-form label {
   margin: 10px 0 0;
}

.autogiro-signup-content select {
   color: inherit;
}

.autogiro-signup-content #autogiro-form .autogiro-form-cart {
   border: 1px solid #ddd;
   border-radius: 10px;
   padding: 20px;
   margin: 20px 0;
   gap: 20px;
}

.autogiro-signup-content .autogiro-form-cart p {
   margin: 0;
}

.autogiro-signup-content .autogiro-form-cart .autogiro-total-title,
.autogiro-signup-content .autogiro-form-cart .autogiro-first-draw-title {
   font-size: 24px;
   font-weight: bold;
   margin-bottom: 10px;
}

.autogiro-signup-content .autogiro-form-cart .autogiro-total-value,
.autogiro-signup-content .autogiro-form-cart .autogiro-cart-value {
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
   padding: 8px 10px 6px;
   border-radius: 5px;
   transition: opacity 0.2s ease-in-out;
}
.autogiro-signup-content .autogiro-form-cart .autogiro-cart-value:empty {
   opacity: 0;
}

.autogiro-signup-content #autogiro-form input[type="submit"],
.autogiro-signup-content #autogiro-renewal-form input[type="submit"] {
   border: none;
   max-width: 400px;
   margin: 40px auto 0;
   color: var(--billecta-text-color);
   text-decoration: none;
   background-color: var(--billecta-primary-color);
   padding: 10px 60px;
}

.autogiro-signup-content input {
   margin: 0;
   font-size: 1.5rem;
}

.autogiro-signup-content select {
   font-size: 1.5rem;
}

.autogiro-signup-content input[type="checkbox"] {
   transform: scale(1.5);
   margin-right: 1rem;
   margin-left: 0.5rem;
   cursor: pointer;
}

.autogiro-signup-content #autogiro-form label[for="customer_other"] {
   display: block;
   margin-bottom: 2rem;
   cursor: pointer;
}

.autogiro-signup-content label[for="customer_other"] p {
   margin: 0 0 0.5rem;
}

.autogiro-signup-content .drawdate-choices {
   display: flex;
   flex-direction: column;
   gap: 10px;
   position: relative;
   margin-bottom: 40px;
}

.autogiro-signup-content .drawdate-choices label {
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 10px;
   background: #fff;
   color: #1a1a1a;
   border: 1px solid #1a1a1a;
   border-radius: 10px;
   padding: 20px 10px 20px 20px;
   font-size: 16px;
   text-transform: uppercase;
   font-weight: 600;
   text-decoration: none;
   cursor: pointer;
   user-select: none;
   transition: transform 0.3s ease-in-out;
   min-height: 97px;
   position: relative;
}

.autogiro-signup-content .drawdate-choices p {
   font-size: 20px;
   text-transform: none;
   margin: 0;
}

.autogiro-signup-content .drawdate-choices .drawdate-check {
   fill: #fff;
   background: #ddd;
   border-radius: 50%;
   width: 36px;
   height: 36px;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-shrink: 0;
}

.autogiro-signup-content .drawdate-choices input[type="radio"]:checked + label {
   background: var(--billecta-primary-color);
   border: 1px solid var(--billecta-primary-color);
}

.autogiro-signup-content
   .drawdate-choices
   input[type="radio"]:checked
   + label
   p {
   color: var(--billecta-text-color);
}

.autogiro-signup-content
   .drawdate-choices
   input[type="radio"]:checked
   + label
   .drawdate-check {
   background-color: var(--billecta-text-color);
   fill: var(--billecta-primary-color);
}

.autogiro-signup-content .drawdate-choices input[type="radio"] {
   display: none;
}

.autogiro-signup-content #autogiro-form label.already-paying-label {
   margin: 10px 0 30px;
   display: flex;
   align-items: center;
   gap: 20px;
}
.autogiro-signup-content
   #autogiro-form
   label.already-paying-label
   .already-paying-text
   p {
   margin: 0;
}

.autogiro-signup-content
   #autogiro-form
   label.already-paying-label
   .already-paying-check-box {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #fff;
   color: #1a1a1a;
   border: 1px solid #1a1a1a;
   border-radius: 10px;
   padding: 20px;
   cursor: pointer;
   user-select: none;
   transition: transform 0.3s ease-in-out;
}

.autogiro-signup-content
   #autogiro-form
   label.already-paying-label
   .already-paying-check-box
   .already-paying-check {
   fill: #fff;
   background: #ddd;
   border-radius: 50%;
   width: 36px;
   height: 36px;
   display: flex;
   justify-content: center;
   align-items: center;
}
.autogiro-signup-content
   #autogiro-form
   label.already-paying-label.checked
   .already-paying-check-box {
   background: var(--billecta-primary-color);
   border: 1px solid var(--billecta-primary-color);
}
.autogiro-signup-content
   #autogiro-form
   label.already-paying-label.checked
   .already-paying-check-box
   .already-paying-check {
   background-color: var(--billecta-text-color);
   fill: var(--billecta-primary-color);
}
.autogiro-signup-content
   #autogiro-form
   label.already-paying-label
   input[type="checkbox"] {
   display: none;
}

.autogiro-signup-content .products {
   display: flex;
   flex-direction: column;
   gap: 10px;
   position: relative;
}

.autogiro-signup-content .product-checkbox {
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   gap: 10px;
   background: #fff;
   color: #1a1a1a;
   border: 1px solid #1a1a1a;
   border-radius: 10px;
   padding: 20px 10px 20px 20px;
   font-size: 16px;
   text-transform: uppercase;
   font-weight: 600;
   text-decoration: none;
   cursor: pointer;
   user-select: none;
   transition: transform 0.3s ease-in-out;
   min-height: 97px;
}

.autogiro-signup-content .product-checkbox .product-inner {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding-right: 50px;
   position: relative;
   padding-top: 3px;
}

.autogiro-signup-content .product-checkbox .product-name {
   font-size: 22px;
   line-height: 1;
}

.autogiro-signup-content .product-checkbox .product-type {
   line-height: 1;
   padding: 4px 4px 2px;
   border-radius: 2px;
   background: #eee;
   font-size: 14px;
}

.autogiro-signup-content .product-checkbox .product-price {
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
   padding: 8px 10px 6px;
   border-radius: 5px;
   font-size: 14px;
   line-height: 1;
}

.autogiro-signup-content .product-checkbox .product-check {
   position: absolute;
   right: 0;
   bottom: 50%;
   transform: translateY(50%);
   fill: #fff;
   background: #ddd;
   border-radius: 50%;
   width: 36px;
   height: 36px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.autogiro-signup-content .product-checkbox[data-type="extra"] {
   display: none;
}

.autogiro-signup-content .product-checkbox input[type="checkbox"] {
   display: none;
}

.autogiro-signup-content .product-checkbox.checked {
   background: var(--billecta-primary-color);
   border: 1px solid var(--billecta-primary-color);
}

.autogiro-signup-content .product-checkbox.checked .product-name,
.autogiro-signup-content .product-checkbox.checked .product-price {
   color: var(--billecta-text-color);
}

.autogiro-signup-content .product-checkbox.checked .product-check {
   background-color: var(--billecta-text-color);
   fill: var(--billecta-primary-color);
}

#checkboxValidation {
   position: absolute;
   opacity: 0;
   bottom: 0px;
   z-index: -10;
   width: auto;
}

.autogiro-signup-content .account-choices {
   display: flex;
   flex-direction: column;
   gap: 10px;
   border: 1px solid #1a1a1a;
   border-radius: 10px;
   padding: 30px 20px 28px;
}

.autogiro-signup-content .account-choices label {
   display: flex;
   align-items: center;
   gap: 10px;
   cursor: pointer;
   margin: 0;
}

.autogiro-signup-content .account-choices input[type="radio"] {
   display: none;
}

.autogiro-signup-content .account-choices .radio-checkbox {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 20px;
   height: 20px;
   background-color: var(--billecta-text-color);
   border: 2px solid #ddd;
   cursor: pointer;
   border-radius: 50%;
   margin-bottom: 3px;
}

.autogiro-signup-content .account-choices .radio-checkbox .radio-tick {
   background: var(--billecta-primary-color);
   height: 10px;
   width: 10px;
   border-radius: 50%;
   display: none;
}

.autogiro-signup-content
   .account-choices
   input[type="radio"]:checked
   + .radio-checkbox {
   border: 2px solid var(--billecta-primary-color);
}

.autogiro-signup-content
   .account-choices
   input[type="radio"]:checked
   + .radio-checkbox
   .radio-tick {
   display: block;
}

.autogiro-signup-content .account-choices .account-choice,
.autogiro-signup-content .terms-approval {
   display: flex;
   gap: 1rem;
}

#autogiro-error-message {
   display: none;
   border-radius: 4px;
   padding: 16px;
   background: #d0342c;
   color: white;
   margin-bottom: 16px;
}

#terms-box {
   max-height: 200px;
   overflow-y: auto;
   margin-top: 20px;
   padding: 10px;
   border: 1px solid #1a1a1a;
   border-radius: 10px;
   padding: 30px 20px;
   background-color: #f9f9f9;
}
.autogiro-signup-content #autogiro-form label[for="terms_approval"],
.autogiro-signup-content #autogiro-renewal-form label[for="terms_approval"] {
   margin-top: 20px;
}

/* Progress bar */
.autogiro-signup-content .progress-bar {
   display: flex;
   justify-content: space-between;
   list-style-type: none;
   margin: 50px 0;
}

.autogiro-signup-content .step {
   text-align: center;
   width: calc(100% / 3);
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.autogiro-signup-content .step:first-child {
   align-items: flex-start;
}

.autogiro-signup-content .step:last-child {
   align-items: flex-end;
}

.autogiro-signup-content .step > p {
   font-size: 20px;
   margin-bottom: 15px;
}

.autogiro-signup-content .bullet {
   height: 50px;
   width: 50px;
   padding-top: 3px;
   background-color: #ddd;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0;
   font-weight: bold;
   font-size: 20px;
   transition: background-color 0.5s linear;
}

.autogiro-signup-content .step .line {
   position: absolute;
   width: 135%;
   height: 5px;
   background-color: #ddd;
   bottom: 22.5px;
   right: 55%;
   z-index: -1;
   transition: background-color 0.5s linear;
}

.autogiro-signup-content .step:last-child .line {
   right: 10%;
}

.autogiro-signup-content .active > p {
   font-weight: bold;
}

.autogiro-signup-content .completed .bullet {
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
}

.autogiro-signup-content .completed .line {
   background-color: var(--billecta-primary-color);
}

/* Modal CSS */
.bankid-modal {
   display: none;
   position: fixed;
   z-index: 1;
   padding-top: 100px;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   overflow: auto;
   background-color: rgba(0, 0, 0, 0.4);
}

.bankid-modal-content {
   background-color: #fefefe;
   margin: auto;
   padding: 0 32px 32px;
   width: 90%;
   max-width: 600px;
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   border-radius: 4px;
}

.bankid-modal-content .modal-heading {
   font-size: 32px;
   font-weight: bold;
   text-align: center;
   margin: 0;
}

.bankid-modal-content .mobile-bankid-container {
   display: none;
   text-align: center;
}

#bankid-backlink {
   border: none;
   max-width: 500px;
   width: fit-content !important;
   text-align: center !important;
   margin-top: 20px;
   color: var(--billecta-text-color);
   text-decoration: none !important;
}

.mobile-bankid-container #bankid-link {
   border: none;
   max-width: 400px;
   width: fit-content !important;
   text-align: center !important;
   margin: 20px auto;
   color: var(--billecta-text-color);
   text-decoration: none !important;
}

.mobile-bankid-container #bankid-link[href=""],
.mobile-bankid-container #bankid-link[href="#"] {
   display: none;
}

.bankid-modal-content .qr-container {
   display: none;
   text-align: center;
}

.bankid-modal-content .qr-container img {
   max-width: 200px;
   min-width: 200px;
}

.bankid-modal-content .qr-instructions {
   padding: 0 32px;
   margin: 0;
   width: 100%;
   text-align: left;
}

.bankid-modal-content .qr-instructions span {
   font-weight: bold;
}

.bankid-modal-content .qr-image {
   width: 200px;
   margin: 16px 0;
}

.bankid-modal .close {
   color: #aaaaaa;
   float: right;
   font-size: 28px;
   font-weight: bold;
   position: absolute;
   right: 0;
   top: 0;
   width: 40px;
   height: 40px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.bankid-modal .close:hover,
.bankid-modal .close:focus {
   color: #000;
   text-decoration: none;
   cursor: pointer;
}

.bankid-modal #bankid-logo {
   width: 300px;
   /* adjust as needed */
   height: auto;
   /* maintain aspect ratio */
   /* add other CSS properties as needed */
}

@media screen and (max-width: 959px) {
   .autogiro-signup-content .product-checkbox {
      /* width: calc((100% - 10px) / 2); */
   }
}

@media screen and (max-width: 575px) {
   .autogiro-signup-content {
      padding: 32px 0;
   }
   .autogiro-signup-content .drawdate-choices p {
      font-size: 16px;
   }
   .autogiro-signup-content #autogiro-form label.already-paying-label {
      align-items: flex-start;
   }
   .autogiro-signup-content
      #autogiro-form
      label.already-paying-label
      .already-paying-check-box {
      padding: 15px;
   }
   .autogiro-signup-content .product-checkbox {
      gap: 4px;
      min-height: 85px;
   }

   .autogiro-signup-content .product-checkbox .product-name {
      font-size: 18px;
   }

   .autogiro-signup-content .product-checkbox .product-type {
      font-size: 12px;
   }

   .autogiro-signup-content .step > p {
      font-size: 14px;
   }

   .bankid-modal-content {
      padding: 0 16px 32px;
   }

   .bankid-modal-content .modal-heading {
      font-size: 24px;
   }

   .bankid-modal-content .qr-instructions {
      padding: 0 16px;
   }
}

/**
 * Paying for other
 **/
#customer_other_wrapper {
   display: none;
   border: 1px solid #eee;
   background: #f9f9f9;
   padding: 0.5rem 2rem 2rem;
   border-radius: 1rem;
   margin: 1rem 0 2rem;
}

#customer_other_wrapper input {
   background: #fff;
}

/**
 * Wrapper with flex
 */
#step-2 .wrapper_inner {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   /* Add the desired gap between the .half divs */
}

#step-2 .half {
   flex: 1;
}

#step-2 .full {
   width: 100%;
}

/**
 * Paying for othe radios
 */
.autogiro-signup-content label span {
   font-weight: normal;
}
.autogiro-signup-content .customer_other_radio_container {
   display: flex;
   gap: 1rem;
   margin-bottom: 2rem;
   position: relative;
   width: fit-content;
}
.autogiro-signup-content .customer_other_radio_container label {
   position: relative;
}
.autogiro-signup-content .customer_other_radio_container input[type="radio"] {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   margin: 0;
   opacity: 0;
   cursor: pointer;
}
.autogiro-signup-content .customer_other_radio_container label:focus-within {
   outline: 2px solid var(--billecta-primary-color);
   outline-offset: 2px;
}
.autogiro-signup-content .customer_other_radio_container label.selected {
   background: var(--billecta-primary-color);
   border-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
}
.autogiro-signup-content .customer_other_radio_container label {
   width: 100px;
   border: 1px solid #ccc;
   margin: 0;
   padding: 1rem;
   text-align: center;
   border-radius: 0.8rem;
   cursor: pointer;
}
.autogiro-signup-content
   .customer_other_radio_container
   label:not(.selected):hover {
   background: #f9f9f9;
}
.autogiro-signup-content .customer_other_label {
   margin-bottom: 0;
}
.autogiro-signup-content .label_wrapper {
   display: flex;
   gap: 1rem;
}
.autogiro-signup-content .label_wrapper label {
   width: 50%;
   min-width: 0;
}

/*#step-2 #radio-container {
   position: relative;
   display: inline-block;
}

#step-2 .visually-hidden {
   border: 0;
   clip: rect(0 0 0 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute;
   width: 1px;
   white-space: nowrap;
   left:50px;
}

.autogiro-signup-content #step-2 .button-label {
   display: inline-block;
   padding: 10px 20px;
   border: 1px solid #ccc;
   border-radius: 5px;
   margin:0;
   cursor: pointer;
   transition: background-color 0.3s;
}
.autogiro-signup-content #step-2 .button-label:nth-child(1) {
   margin-right:20px;
}

#step-2 .button-label:hover {
   background-color: #f5f5f5;
}

#step-2 .visually-hidden:checked + .button-label {
   background-color: var(--billecta-primary-color);
   border-color: var(--billecta-primary-color);
   color:#fff;
}

#step-2.attempted-submit.invalid #radio-container {
   border:1px solid var(--billecta-primary-color);
   border-radius: 0.4rem;
}*/

/**
 * ========================================
 * Account Retrieval 2.0 - Lightbox Modal Styles
 * ========================================
 */

/* Account Retrieval Lightbox Modal */
#account-retrieval-modal {
   display: none;
   position: fixed;
   z-index: 999999;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.7);
   backdrop-filter: blur(3px);
}

#account-retrieval-modal.active {
   display: flex;
   align-items: center;
   justify-content: center;
}

/* Modal content container - Desktop
 * NOTE: max-width is intentionally capped at 480px. Billectas iframe-flöde
 * (Brite) byter till sin responsiva layout som fyller höjden först när
 * iframens renderade bredd är < 495px. Över den tröskeln visar Brite ett
 * litet centrerat "desktop card". Vi håller därför popupen <= 480px på
 * alla viewports för att alltid trigga responsive mode. */
.account-modal-content {
   position: relative;
   background-color: #fff;
   width: 100%;
   max-width: 480px;
   height: 85vh;
   max-height: 750px;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
   display: flex;
   flex-direction: column;
}

/* Modal header */
.account-modal-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 16px 20px;
   background-color: #f8f8f8;
   border-bottom: 1px solid #e0e0e0;
   flex-shrink: 0;
}

.account-modal-header h3 {
   margin: 0;
   font-size: 18px;
   font-weight: 600;
   color: #333;
}

.account-modal-close {
   background: none;
   border: none;
   font-size: 28px;
   cursor: pointer;
   color: #666;
   line-height: 1;
   padding: 0;
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   transition: background-color 0.2s, color 0.2s;
}

.account-modal-close:hover {
   background-color: #e0e0e0;
   color: #333;
}

/* Modal body - iframe container */
.account-modal-body {
   flex: 1;
   min-height: 0;
   position: relative;
   overflow: hidden;
}

#bank-account-iframe {
   position: absolute;
   inset: 0;
   border: 0;
}

#bank-account-iframe iframe {
   position: absolute;
   inset: 0;
   width: 100% !important;
   height: 100% !important;
   border: 0;
   display: block;
}

/* Loading state inside modal */
.account-modal-loading {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   background-color: #fff;
   z-index: 10;
}

.account-modal-loading p {
   margin-top: 15px;
   font-size: 16px;
   color: #666;
}

/* Error state inside modal */
.account-modal-error {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   display: none;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   background-color: #fff;
   padding: 30px;
   text-align: center;
}

.account-modal-error.active {
   display: flex;
}

.account-modal-error .error-icon {
   width: 60px;
   height: 60px;
   background-color: #ffebee;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 20px;
}

.account-modal-error .error-icon svg {
   width: 30px;
   height: 30px;
   color: #d32f2f;
}

.account-modal-error .error-message {
   color: #333;
   font-size: 16px;
   margin-bottom: 25px;
   max-width: 300px;
   line-height: 1.5;
}

.account-modal-error .retry-button {
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
   border: none;
   padding: 14px 35px;
   border-radius: 8px;
   cursor: pointer;
   font-size: 16px;
   font-weight: 500;
   transition: opacity 0.2s, transform 0.2s;
}

.account-modal-error .retry-button:hover {
   opacity: 0.9;
   transform: translateY(-1px);
}

/* Account confirmation box (shown after success) */
#account-selected-confirmation {
   margin: 20px 0;
   display: none;
}

#account-selected-confirmation.active {
   display: block;
}

.account-confirmation-box {
   display: flex;
   align-items: center;
   gap: 15px;
   padding: 20px;
   background-color: #e8f5e9;
   border: 1px solid #4caf50;
   border-radius: 10px;
}

.account-confirmation-box svg {
   color: #4caf50;
   flex-shrink: 0;
   width: 28px;
   height: 28px;
}

.account-confirmation-box .confirmation-title {
   font-weight: bold;
   font-size: 18px;
   margin: 0 0 5px;
   color: #2e7d32;
}

.account-confirmation-box .confirmation-details {
   margin: 0;
   color: #555;
   font-size: 14px;
}

/* Button to open modal / start account retrieval.
 * Selektorerna inkluderar elementet button så att de slår temats
 * button:not(.cmplz-btn), som annars tar över bakgrundsfärgen. */
.autogiro-signup-content button.start-account-retrieval-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   width: 100%;
   padding: 16px 30px;
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
   border: none;
   border-radius: 8px;
   font-size: 16px;
   font-weight: 500;
   font-family: inherit;
   text-transform: none;
   white-space: normal;
   cursor: pointer;
   transition: opacity 0.2s, transform 0.2s;
}

.autogiro-signup-content button.start-account-retrieval-btn:hover,
.autogiro-signup-content button.start-account-retrieval-btn:focus {
   opacity: 0.9;
   transform: translateY(-1px);
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
}

.autogiro-signup-content button.start-account-retrieval-btn:disabled,
.autogiro-signup-content button.start-account-retrieval-btn:disabled:hover,
.autogiro-signup-content button.start-account-retrieval-btn:disabled:focus {
   opacity: 0.6;
   cursor: not-allowed;
   transform: none;
   background-color: var(--billecta-primary-color);
   color: var(--billecta-text-color);
}

.autogiro-signup-content button.start-account-retrieval-btn svg {
   width: 20px;
   height: 20px;
   fill: currentColor;
}

/* Step info text */
.step-info,
.step-2-info,
.step-3-intro,
.step-2-intro {
   background-color: #f5f5f5;
   border-left: 4px solid var(--billecta-primary-color);
   padding: 15px;
   margin: 20px 0;
   border-radius: 0 5px 5px 0;
}

.step-info em,
.step-2-info em {
   font-style: normal;
}

/* Terms and submit section */
#terms-and-submit {
   margin-top: 25px;
   display: none;
}

#terms-and-submit.active {
   display: block;
}

/* Tablet/smaller-screen typografi-justeringar (popupens dimensioner styrs
 * av basreglerna ovan – 480 max-width passar redan iPad utan fullscreen). */
@media screen and (max-width: 768px) {
   .account-modal-header {
      padding: 14px 16px;
   }

   .account-modal-header h3 {
      font-size: 16px;
   }

   .account-confirmation-box {
      flex-direction: column;
      text-align: center;
   }

   .account-confirmation-box svg {
      margin-bottom: 5px;
   }

   .account-modal-error {
      padding: 20px;
   }
}

/* Telefon - fullscreen-modal. Brite kör ändå responsive mode under 495px
 * så vi får en sammanhängande mobile-UX utan brytning vid Brites tröskel. */
@media screen and (max-width: 480px) {
   .account-modal-content {
      width: 100%;
      height: 100%;
      max-height: none;
      border-radius: 0;
   }
}

/* Smaller mobile */
@media screen and (max-width: 400px) {
   .account-modal-header h3 {
      font-size: 15px;
   }
   
   .autogiro-signup-content button.start-account-retrieval-btn {
      padding: 14px 20px;
      font-size: 15px;
   }
}

/* Renewal form specific styles */
#autogiro-renewal-form .step-info {
   margin-bottom: 20px;
}

#renew-step-2 h2 {
   margin-bottom: 10px;
}

#renew-step-2 .step-2-intro {
   margin-top: 0;
}

/* BankID receipt on the thank-you screen */
.bankid-receipt {
   margin: 20px auto;
   max-width: 600px;
   padding: 20px;
   border: 1px solid #ddd;
   border-radius: 10px;
   background-color: #f9f9f9;
   text-align: left;
}

.bankid-receipt dt {
   font-weight: bold;
   margin-top: 10px;
}

.bankid-receipt dd {
   margin: 0;
   word-break: break-all;
}

.bankid-receipt-text {
   white-space: pre-wrap;
   font-size: 0.9em;
}

.billecta-terms-meta {
   font-size: 0.9em;
   opacity: 0.8;
}
